/* --------------- top --------------- */

.col_mainimg {
	width: 100%;
	max-width: 1800px;
	height: 50.79vw;
	max-height: 768px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 1;
}
.bg_mainimg {
	width: 100vw;
	height: 100%;
	margin: 0;
	padding: 0;
	transform: translateX(-50%);
	overflow: hidden;
	position: absolute;
	left: 50%;
	z-index: -1;
}
.bg_mainimg .bgdeco {
	width: 100%;
	max-width: 1512px;
	height: 100%;
	margin: 0;
	padding: 0;
	transform: translateX(-50%);
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 0;
}
@-webkit-keyframes circleflow1 {
	0% {
		transform: translate(0, 0);
	}
	50% {
		transform: translate(-2px, 8px);
	}
	100% {
		transform: translate(0, 0);
	}
}
.bg_mainimg .bgdeco .deco1 {
	width: 33.8vw;
	max-width: 511px;
	height: 22.77vw;
	max-height: 344px;
	margin: 0;
	padding: 0;
	animation: circleflow1 3.5s infinite ease-in-out;
	position: absolute;
	right: 75.7%;
	bottom: 63.75%;
}
.bg_mainimg .bgdeco .deco1 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	opacity: 0.5;
	overflow: hidden;
}
.bg_mainimg .bgdeco .deco1 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 16px auto;
	display: block;
	transform: rotate(35deg);
}
.bg_mainimg .bgdeco .deco2 {
	width: 11.5vw;
	max-width: 174px;
	height: 7.777vw;
	max-height: 118px;
	margin: 0;
	padding: 0;
	animation: circleflow1 3.2s infinite ease-in-out 1s;
	position: absolute;
	right: 63%;
	bottom: 92%;
}
.bg_mainimg .bgdeco .deco2 .border {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: solid 1px #00b827;
	transform: rotate(-35deg);
}
.bg_mainimg .bgdeco .deco3 {
	width: 24.92vw;
	max-width: 377px;
	height: 16.82vw;
	max-height: 255px;
	margin: 0;
	padding: 0;
	animation: circleflow1 3.8s infinite ease-in-out .5s;
	position: absolute;
	left: 76.8%;
	bottom: 39.8%;
}
.bg_mainimg .bgdeco .deco3 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-30deg);
	opacity: 0.2;
	overflow: hidden;
}
.bg_mainimg .bgdeco .deco3 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 15px auto;
	display: block;
	transform: rotate(30deg);
}
.bg_mainimg .bgdeco .deco4 {
	width: 24.92vw;
	max-width: 377px;
	height: 16.82vw;
	max-height: 255px;
	margin: 0;
	padding: 0;
	animation: circleflow1 3.8s infinite ease-in-out 0s;
	position: absolute;
	left: 75.6%;
	bottom: 46.2%;
}
.bg_mainimg .bgdeco .deco4 .border {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: solid 1px #00b827;
	transform: rotate(-30deg);
	
}
.bg_mainimg .bgdeco .deco5 {
	width: 13.333vw;
	max-width: 202px;
	height: 8.968vw;
	max-height: 136px;
	margin: 0;
	padding: 0;
	animation: circleflow1 4.2s infinite ease-in-out .2s;
	position: absolute;
	top: 84.2%;
	right: 88.33%;
}
.bg_mainimg .bgdeco .deco5 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-30deg);
	opacity: 0.5;
	overflow: hidden;
}
.bg_mainimg .bgdeco .deco5 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 10px auto;
	display: block;
	transform: rotate(30deg);
}
.bg_mainimg .bgdeco .deco6 {
	width: 13.333vw;
	max-width: 202px;
	height: 8.968vw;
	max-height: 136px;
	margin: 0;
	padding: 0;
	animation: circleflow1 4.2s infinite ease-in-out .8s;
	position: absolute;
	top: 85.62%;
	right: 83.17%;
}
.bg_mainimg .bgdeco .deco6 .border {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: solid 1px #00b827;
	transform: rotate(-30deg);
}
.bg_mainimg .bgdeco .deco7 {
	width: 14.127vw;
	max-width: 214px;
	height: 9.524vw;
	max-height: 144px;
	margin: 0;
	padding: 0;
	animation: circleflow1 3s infinite ease-in-out 0s;
	position: absolute;
	top: 81%;
	left: 72.7%;
}
.bg_mainimg .bgdeco .deco7 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-30deg);
	opacity: 0.2;
	overflow: hidden;
}
.bg_mainimg .bgdeco .deco7 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 15px auto;
	display: block;
	transform: rotate(30deg);
}

.col_mainimg .crop_mainimg {
	width: 100%;
	height: 120%;
	overflow: hidden;
	position: absolute;
}

.col_mainimg .mainimg {
	margin: 0;
	padding: 0;
	transform: translateX(-50%);
	position: absolute;
	top: 0;
	left: 50%;
}
.col_mainimg .mainimg .crop {
	width: 69.98vw;
	max-width: 1054px;
	height: 46.82vw;
	max-height: 708px;
	margin: 0 auto;
	padding: 0;
	border-radius: 50%;
	transform: rotate(-40deg);
	overflow: hidden;
	position: relative;
	z-index: 0;
}
.col_mainimg .mainimg .crop .inner {
	width: 61.51vw;
	max-width: 930px;
	height: 57.38vw;
	max-height: 868px;
	margin: 0;
	padding: 0;
	transform-origin: left top;
	transform: rotate(40deg) translate(-50%, -50%);
	display: none;
	position: absolute;
	top: 54%;
	left: 47.5%;
}
.col_mainimg .mainimg .crop .inner img {
	width: 102%;
}

/* メインイメージ動き案2 */

.col_mainimg .mainimg .crop .inner.move {
	transition: all .8s ease-in;
	top: 170%;
	left: 150%;
}


/* ここまで */

.col_mainimg .cont {
	width: 90%;
	margin: 0 auto;
	padding: min( 8.33vw, 126px ) 0 0;
	position: relative;
	z-index: 1;
}
.col_mainimg .cont .copy {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
.col_mainimg .cont .copy span {
	width: fit-content;
	height: min( 6.984vw, 105px );
	margin: 0 0 min( 0.952vw, 18px );
	padding: min( 0.635vw, 12px ) min( 0.952vw, 18px );
	background-color: #00b827;
	display: block;
	transition: all .5s ease-out;
	position: relative;
	left: -40%;
}
.col_mainimg .cont .copy span:nth-child(2) { transition-delay: .3s; }
.col_mainimg .cont .copy span:nth-child(3) { transition-delay: .6s; }

.col_mainimg.start .cont .copy span { left: 0; }
.col_mainimg .cont .copy span img {
	width: auto;
	height: 100%;
}
.lead_topmain {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0 min( 0.4vw, 8px );
	overflow: hidden;
}
.lead_topmain img {
	width: auto;
	height: min( 1.9vw, 29px );
}
.lead_topmain .sp { display: none; }
ul.list_check_topmain {
	margin: 0;
	padding: 0;
	position: absolute;
	right: 9%;
	bottom: 5%;
}
ul.list_check_topmain li {
	margin: 0;
	padding: 0;
	filter: drop-shadow( -2px 0px #fff ) drop-shadow( 0 -2px #fff ) drop-shadow( 2px 0px #fff ) drop-shadow( 0px 2px #fff );
	display: flex;
	align-items: flex-end;
}
ul.list_check_topmain li .check {
	width: 3.65vw;
	max-width: 55px;
	margin: 0;
	padding: 0;
}
ul.list_check_topmain li .green {
	margin: 0;
	padding: 0 0 0 0.2em;
	color: #00b827;
	font-size: min( 2.143vw, 32px );
	font-weight: 900;
	line-height: 1;
}
ul.list_check_topmain li .green .small { font-size: 0.88em; }
ul.list_check_topmain li .orange {
	margin: 0;
	padding: 0;
	color: #fa8703;
	font-size: min( 3vw, 46px );
	font-weight: 900;
	line-height: 1;
	position: relative;
	bottom: -0.5em;
}
ul.list_check_topmain li:nth-child(2) .orange { padding: 0 0 0 0.2em; }

ul.list_check_topmain li .orange .akshar {
	font-size: 2.789em;
	font-weight: 600;
	display: inline-block;
	position: relative;
	bottom: -0.05em;
}
ul.list_check_topmain li:first-child .orange .akshar { letter-spacing: -0.05em; }
ul.list_check_topmain li .orange span.yen {
	display: inline-block;
	position: relative;
	z-index: 0;
}
ul.list_check_topmain li .orange span.tax {
	font-size: 0.42em;
	font-weight: 700;
	display: inline-block;
	position: absolute;
	left: calc( 50% - 1.8em );
	bottom: 100%;
}
@media screen and (max-width: 850px) {
	.col_mainimg { height: 75.3vw; }
	.bg_mainimg .bgdeco .deco1 {
		width: 50.1vw;
		max-width: unset;
		height: 33.76vw;
		max-height: unset;
	}
	.bg_mainimg .bgdeco .deco2 {
		width: 17.06vw;
		max-width: unset;
		height: 11.53vw;
		max-height: unset;
	}
	.bg_mainimg .bgdeco .deco3 {
		width: 36.9vw;
		max-width: unset;
		height: 24.9vw;
		max-height: unset;
	}
	.bg_mainimg .bgdeco .deco4 {
		width: 36.94vw;
		max-width: unset;
		height: 24.94vw;
		max-height: unset;
	}
	.bg_mainimg .bgdeco .deco5 {
		width: 19.76vw;
		height: 13.29vw;
		max-height: unset;
	}
	.bg_mainimg .bgdeco .deco6 {
		width: 19.76vw;
		max-width: unset;
		height: 13.29vw;
		max-height: unset;
	}
	.bg_mainimg .bgdeco .deco7 {
		width: 20.94vw;
		max-width: unset;
		height: 14.12vw;
		max-height: unset;
	}
	.col_mainimg .mainimg .crop {
		width: 103.3vw;
		height: 69.4vw;
	}
	.col_mainimg .mainimg .crop .inner {
		width: 91.18vw;
		height: 85.06vw;
	}
	.col_mainimg ul.mainimg li {
		width: 103.3vw;
		height: 69.41vw;
	}
	.col_mainimg .cont { padding: 12.35vw 0 0; }
	.col_mainimg .cont .copy span {
		height: 10.35vw;
		margin: 0 0 1.4vw;
		padding: 0.94vw 1.41vw;
	}
	.lead_topmain { padding: 0.59vw 0; }
	.lead_topmain img { height: 2.823vw; }
	ul.list_check_topmain { right: 5%; }
	ul.list_check_topmain li .check { width: 5.41vw; }
	ul.list_check_topmain li .green { font-size: 3.176vw; }
	ul.list_check_topmain li .orange { font-size: 4.47vw; }
}
@media screen and (max-width: 640px) {
	.col_mainimg {
		height: calc( 138.7vw + 65px );
		max-height: unset;
	}
	.bg_mainimg .bgdeco .deco1 {
		width: 59.16vw;
		height: 39.86vw;
		right: 59.5%;
		bottom: 78.3%;
	}
	.bg_mainimg .bgdeco .deco1 .bgcrop::before { background-size: 2.32vw auto; }
	.bg_mainimg .bgdeco .deco2 { display: none; }
	.bg_mainimg .bgdeco .deco3 {
		width: 43.61vw;
		height: 29.44vw;
		left: 88.67%;
		bottom: 69%;
	}
	.bg_mainimg .bgdeco .deco3 .bgcrop::before { background-size: 2.08vw auto; }
	.bg_mainimg .bgdeco .deco4 {
		width: 43.68vw;
		height: 29.44vw;
		left: 86.72%;
		bottom: 72%;
	}
	.bg_mainimg .bgdeco .deco5 {
		width: 23.33vw;
		height: 15.73vw;
		top: 85.62%;
		right: 82.22%;
	}
	.bg_mainimg .bgdeco .deco5 .bgcrop::before { background-size: 1.3vw auto; }
	.bg_mainimg .bgdeco .deco6 {
		width: 23.33vw;
		height: 15.73vw;
		top: 83.38%;
		right: 87.29%;
	}
	.bg_mainimg .bgdeco .deco7 {
		width: 41.8vw;
		height: 28.05vw;
		top: 76.92%;
		left: 78.08%;
	}
	.bg_mainimg .bgdeco .deco7 .bgcrop::before { background-size: 3.6vw auto; }
	.col_mainimg .mainimg {
		top: 39vw
	}
	.col_mainimg .mainimg .crop {
		width: 134vw;
		height: 90.42vw;
	}
	.col_mainimg .mainimg .crop .inner{
		width: 106.8vw;;
		height: 117vw;
		top: 41%;
		left: 42%;
	}
	.col_mainimg .mainimg .crop .inner img {
		width: auto;
		height: 100%;
	}
	.col_mainimg .cont {
		width: 92%;
		padding: calc( 5.55vw + 65px ) 0 0;
	}
	.col_mainimg .cont .copy { padding: 0 0 10.5vw; }
	.col_mainimg .cont .copy span {
		height: 12.22vw;
		display: inline-block;
		left: -70%;
	}
	.col_mainimg .cont .copy span:nth-child(2) {
		transition-delay: 0s;
		z-index: -1;
	}
	.col_mainimg.start .cont .copy span:nth-child(2) { left: -1px; }
	.lead_topmain {
		display: flex;
		flex-direction: row-reverse;
		justify-content: flex-end;
	}
	.lead_topmain img.pc { display: none; }
	.lead_topmain .sp { display: block; }
	.lead_topmain > div {
		width: 7.08vw;
		height: fit-content;
		margin: 0 0 0 1.25vw;
		padding: 1.5vw 0;
		text-align: center;
		background-color: #fff;
	}
	.lead_topmain > div:nth-of-type(2) { margin-top: 17.22vw; }
	.lead_topmain img {
		width: 50.98%;
		height: auto;
	}
	ul.list_check_topmain { right: 3.3%; }
	ul.list_check_topmain li .check { width: 7.08vw; }
	ul.list_check_topmain li .green { font-size: 4.166vw; }
	ul.list_check_topmain li .orange { font-size: 5.833vw; }

}

.col_topintro1 {
	margin: 0;
	padding: 95px 0 70px;
	background-color: #00bd44;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
.cont_topintro1 {
	width: 90%;
	max-width: 1300px;
	margin: 0 auto 75px;
	padding: 0;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}
.cont_topintro1::before {
	content: "";
	width: 121.65vw;
	max-width: 1500px;
	height: 121.65vw;
	max-height: 1500px;
	margin: 0;
	padding: 0;
	background: linear-gradient( 135deg, rgba(255,241,0,1) 0%, rgba(255,241,0,0) 83% );
	border-radius: 50%;
	position: absolute;
	right: 6%;
	bottom: -12%;
	z-index: -1;
}
.cont_topintro1 .txt {
	width: calc( 98% - 570px );
	margin: 0;
	padding: 0;
	color: #fff;
	line-height: 2;
	position: relative;
	z-index: 0;
}
.cont_topintro1 .txt .deco1 {
	width: 178px;
	height: 120px;
	margin: 0;
	padding: 0;
	animation: circleflow1 3.5s infinite ease-in-out;
	position: absolute;
	top: -10%;
	left: 62%;
	z-index: -1;
}
.cont_topintro1 .txt .deco2 {
	width: 178px;
	height: 120px;
	margin: 0;
	padding: 0;
	animation: circleflow1 3.5s infinite ease-in-out 1s;
	position: absolute;
	top: 83%;
	right: 94.5%;
	z-index: -1;
}
.cont_topintro1 .txt .deco1 .bgcrop,
.cont_topintro1 .txt .deco2 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-40deg);
	overflow: hidden;
}
.cont_topintro1 .txt .deco1 .bgcrop::before,
.cont_topintro1 .txt .deco2 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen1.svg);
	background-repeat: repeat;
	background-size: 9px auto;
	transform: rotate(40deg);
	display: block;
}
.cont_topintro1 .txt .copy {
	width: 53.157%;
	max-width: 283px;
	margin: 0 0 27px;
	padding: 0;
	line-height: 1;
}
.cont_topintro1 .txt .logo {
	width: 78.51%;
	max-width: 419px;
	margin: 0 0 28px;
	padding: 0;
	line-height: 1;
}
.cont_topintro1 .movie {
	width: 570px;
	margin: 0;
	padding: 0;
	border-radius: 20px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));
	overflow: hidden;
}
.cont_topintro1 .movie video {
	width: 100%;
}
@media screen and (max-width: 1445px) {
	.cont_topintro1 .txt { width: 48%; }
	.cont_topintro1 .movie { width: 50%; }
}
@media screen and (max-width: 850px) {
	.cont_topintro1 {
		margin: 0 auto 50px;
		padding: 0 0 65px;
		border-bottom: solid 1px #fff;
		display: block;
	}
	.cont_topintro1::before {
		width: 209vw;
		max-width: unset;
		height: 209vw;
		max-height: unset;
		right: 2%;
		bottom: calc( 50px + 56vw );
	}
	.cont_topintro1 .txt {
		width: 100%;
		margin: 0 0 1.2em;
	}
	.cont_topintro1 .txt .deco1 {
		width: 32.59vw;
		height: 21.96vw;
		top: -3.47vw;
		left: calc( 100% - 22.5vw );
	}
	.cont_topintro1 .txt .deco1 .bgcrop::before { background-size: 1.66vw auto; }
	.cont_topintro1 .txt .deco2 {
		width: 24.72vw;
		height: 16.66vw;
		top: 73%;
		right: 87vw;
	}
	.cont_topintro1 .txt .deco2 .bgcrop::before { background-size: 1.305vw auto; }
	.cont_topintro1 .txt .copy {
		width: 49.58%;
		max-width: 285px;
		margin: 0 0 min(4.86vw, 22px);
	}
	.cont_topintro1 .txt .logo {
		width: 67.85vw;
		max-width: 390px;
		margin: 0 0 min(5.55vw, 22px);
	}
	.cont_topintro1 .movie {
		width: 100%;
		margin: 0 auto;
	}
}
@media screen and (max-width: 640px) {
	.col_topintro1 { padding: 11.25vw 0 10vw; }
	.cont_topintro1 {
		margin: 0 auto 11vw;
		padding: 0 0 11vw;
	}
	.cont_topintro1::before { bottom: 64vw; }
}

.cont_topintro2 {
	width: 90%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: relative;
	z-index: 0;
}
.cont_topintro2::before {
	content: "";
	width: 90vw;
	max-width: 1110px;
	height: 90vw;
	max-height: 1110px;
	margin: 0;
	padding: 0;
	background: linear-gradient( -45deg, rgba(255,241,0,1) 0%, rgba(255,241,0,0) 85% );
	border-radius: 50%;
	transform: translateY(-50%);
	position: absolute;
	top: 40%;
	left: 45%;
	z-index: -1;
}
.cont_topintro2 .deco3 {
	width: 278px;
	height: 187px;
	margin: 0;
	padding: 0;
	animation: circleflow1 3s infinite ease-in-out;
	position: absolute;
	top: -31%;
	left: 80%;
	z-index: -1;
}
.cont_topintro2 .deco3 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-40deg);
	overflow: hidden;
	opacity: 0.5;
}
.cont_topintro2 .deco3 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 25px auto;
	transform: rotate(40deg);
	display: block;
}
.cont_topintro2 .deco4 {
	width: 405px;
	height: 273px;
	margin: 0;
	padding: 0;
	animation: circleflow1 4.2s infinite ease-in-out .5s;
	position: absolute;
	top: 50%;
	right: 80%;
	z-index: -1;
}
.cont_topintro2 .deco4 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-40deg);
	overflow: hidden;
	opacity: 0.15;
}
.cont_topintro2 .deco4 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotwhite1.svg);
	background-repeat: repeat;
	background-size: 37px auto;
	transform: rotate(40deg);
	display: block;
}
.cont_topintro2 .mds {
	width: 100%;
	margin: 0 0 30px;
	padding: 0;
	color: #fff;
	font-size: 34px;
	font-weight: 600;
	text-align: center;
}
.cont_topintro2 .mds span.inner {
	margin: 0;
	padding: 0 80px;
	display: inline-block;
	position: relative;
	z-index: 0;
}
.cont_topintro2 .mds span.inner::before,
.cont_topintro2 .mds span.inner::after {
	content: "";
	width: 65px;
	height: 14px;
	margin: 0;
	padding: 0;
	background-image: url(../img/top/deco_mds_intro1.svg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: calc( 50% - 7px );
}
.cont_topintro2 .mds span.inner::before { left: 0; }
.cont_topintro2 .mds span.inner::after {
	transform: rotate(180deg);
	right: 0;
}
dl.box_topintro1 {
	width: 32%;
	margin: 0 2% 0 0;
	padding: 0 1.8%;
	background-color: #fff;
	border-radius: 20px;
}
dl.box_topintro1:last-child { margin-right: 0; }
dl.box_topintro1.scrlevent:nth-of-type(2) { transition-delay: .3s; }
dl.box_topintro1.scrlevent:nth-of-type(3) { transition-delay: .6s; }
dl.box_topintro1 .sp { display: none; }
dl.box_topintro1 dt {
	height: 3.2em;
	margin: 0;
	padding: 0 0 0.5em;
	color: #00b827;
	font-size: 25px;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
	border-bottom: solid 1px #00b827;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
dl.box_topintro1 dt .akshar {
	color: #fa8703;
	font-size: 1.4em;
	line-height: 1;
	position: relative;
	bottom: -0.25em;
}
dl.box_topintro1 dt .akshar .num {
	font-size: 1.668em;
	letter-spacing: -0.05em;
}
dl.box_topintro1 dd {
	margin: 0;
	padding: 1.4em 0 2em;
	color: #fa8703;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
}
dl.box_topintro1:last-child dd { padding: 1.1em 0 1em; }
dl.box_topintro1 dd .price {
	line-height: 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
dl.box_topintro1 dd .price .akshar {
	margin: -0.2em 0 0;
	font-size: 5em;
	font-weight: 600;
	display: inline-block;
	position: relative;
	bottom: -0.2em;
}
dl.box_topintro1 dd .price .yen {
	margin: 0;
	padding: 0;
	font-size: 1.75em;
	font-weight: 900;
	display: inline-blcok;
	position: relative;
	z-index: 0;
}
dl.box_topintro1 dd .price .yen .tax {
	margin: 0;
	padding: 0;
	font-size: 0.42em;
	font-weight: 600;
	display: inline-block;
	position: absolute;
	left: calc( 50% - 1.7em );
	bottom: 100%;
}
dl.box_topintro1 dd .big {
	font-size: 2.35em;
	font-weight: 900;
}
dl.box_topintro1 dd .graph {
	margin: 0;
	padding: 55px 0 0;
}
dl.box_topintro1 dd .graph .circle {
	width: 100px;
	height: 100px;
	margin: 0 auto;
	padding: 0;
	background-image: conic-gradient(#a37e39 2%, #009fb9 2.2%, #009fb9 5%, #bf7c90 5.2%, #bf7c90 10%, #fcbf7a 10.2%, #fcbf7a 30%, #fa8703 30.2% 100%);
	border-radius: 50%;
	position: relative;
	z-index: 0;
}
dl.box_topintro1 dd .graph .circle .detail {
	margin: 0;
	padding: 0;
	font-size: min( 1.6vw, 18px);
	font-weight: 600;
	text-align: left;
	line-height: 1.1;
	position: absolute;
}
dl.box_topintro1 dd .graph .circle .detail .akshar {
	font-size: 1.66em;
	line-height: 1;
}
dl.box_topintro1 dd .graph .circle .detail .akshar .num { font-size: 1.66em; }
dl.box_topintro1 dd .graph .circle .detail.small {
	font-size: 0.666em;
	text-align: center;
}
dl.box_topintro1 dd .graph .circle .detail.small .jost { font-size: 1.1666em; }
dl.box_topintro1 dd .graph .circle .detail.small .jost .num { font-size: 1.9166em; }
dl.box_topintro1 dd .graph .circle .detail.bad {
	color: #a37e39;
	left: calc( 50% - 2.9em );
	bottom: calc( 100% + 15px );
}
dl.box_topintro1 dd .graph .circle .detail.notgood {
	color: #009fb9;
	left: 76%;
	bottom: calc( 100% - 0.3em );
}
dl.box_topintro1 dd .graph .circle .detail.normal {
	color: #bf7c90;
	left: calc( 100% + 1em );
	bottom: calc( 100% - 1.4em );
}
dl.box_topintro1 dd .graph .circle .detail.good {
	padding: 0 0.4em 0 0.1em;
	border-bottom: solid 1px #727171;
	left: calc( 100% + 1em );
	bottom: 0.2em;
}
dl.box_topintro1 dd .graph .circle .detail.good::before {
	content: "";
	width: 1px;
	height: 54px;
	background-color: #727171;
	transform-origin: right bottom;
	transform: rotate(-40deg);
	position: absolute;
	left: 0;
	bottom: 0;
}
dl.box_topintro1 dd .graph .circle .detail.verygood {
	width: 5.4em;
	padding: 0 0 0 0.3em;
	border-bottom: solid 1px #727171;
	right: calc( 100% + 0.3em );
	bottom: 60%;
}
dl.box_topintro1 dd .graph .circle .detail.verygood::before {
	content: "";
	width: 1px;
	height: 48px;
	background-color: #727171;
	transform-origin: left top;
	transform: rotate(-50deg);
	position: absolute;
	top: calc( 100% + 1px );
	right: 0;
}
@media screen and (max-width: 960px) {
	.cont_topintro2 { justify-content: center; }
	dl.box_topintro1 {
		width: 48.5%;
		max-width: 320px;
		margin: 0 3% 3% 0;
	}
	dl.box_topintro1:nth-of-type(2) { margin-right: 0; }
	dl.box_topintro1:last-child {
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
	}
	dl.box_topintro1 dd .graph .circle .detail { font-size: min(4.5vw, 18px); }
}
@media screen and (max-width: 850px) {
	.cont_topintro2::before {
		width: 140.4vw;
		max-width: unset;
		height: 140.4vw;
		max-height: unset;
		transform: translateY(0);
		top: -32.29vw;
		left: 20.28vw;
	}
	.cont_topintro2::after {
		content: "";
		width: 209vw;
		height: 209vw;
		margin: 0;
		padding: 0;
		background: linear-gradient( 135deg, rgba(255,241,0,1) 0%, rgba(255,241,0,0) 100% );
		border-radius: 50%;
		position: absolute;
		top: calc( 100% - 37.77vw );;
		right: 44.7vw;
		z-index: -1;
	}
	
	.cont_topintro2 .deco3 {
		width: 38.6vw;
		height: 26vw;
		top: -18.88vw;
		left: 73.33vw;
	}
	.cont_topintro2 .deco3 .bgcrop::before { background-size: 3.6vw auto; }
	.cont_topintro2 .deco4 {
		width: 56.25vw;
		height: 37.96vw;
		top: 30%;
		right: 62.5vw;
	}
	.cont_topintro2 .deco4 .bgcrop::before { background-size: 5.18vw auto; }
}
@media screen and (max-width: 700px) {
	.cont_topintro2 .mds {
		font-size: min(6.66vw, 34px);
		line-height: 1.1;
	}
	.cont_topintro2 .mds span.inner {
		padding: 0 6.1vw;
	}
	.cont_topintro2 .mds span.inner::before,
	.cont_topintro2 .mds span.inner::after {
		width: 1vw;
		height: 11.11vw;
		background-image: url(../img/top/sp/deco_mds_intro1.svg);
		top: auto;
		bottom: 0;
	}
	.cont_topintro2 .mds span.inner::before {
		transform-origin: right bottom;
		transform: rotate(-30deg);
		left: 3vw;
	}
	.cont_topintro2 .mds span.inner::after {
		transform-origin: left bottom;
		transform: rotate(30deg);
		right: 3vw;
	}
}
@media screen and (max-width: 600px) {
	dl.box_topintro1 .sp { display: inline; }
	dl.box_topintro1 .pc { display: none; }
	dl.box_topintro1 dt {
		height: auto;
		font-size: min(5vw, 25px);
		line-height: 1.2;
		padding: 0.8em 0 0.5em;
	}
	dl.box_topintro1:last-child dt { padding: 0.2em 0 0.5em; }
	dl.box_topintro1 dd {
		padding: 0.8em 0 1.5em;
		font-size: min(3.88vw, 20px);
		line-height: 1.2;
	}
	dl.box_topintro1:last-child dd { padding: 0.4em 0 0.8em; }
	dl.box_topintro1 dd .price {
		padding: 0.8em 0 0;
	}
	dl.box_topintro1 dd .big {
		padding: 0.2em 0 0;
		line-height: 1.1;
	}
	dl.box_topintro1 dd .graph { padding: 52px 0 0; }
	dl.box_topintro1 dd .graph .circle .detail.bad { bottom: calc( 100% + 10px ); }
}

.col_topfunction {
	margin: 0;
	padding: min( 13.6vw, 92px ) 0 min( 15vw, 80px );
	position: relative;
	z-index: 0;
}
.col_topfunction .bgimg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.col_topfunction .bgimg .img {
	height: 100vh;
	background-image: url(../img/top/bg_function.png);
	background-repeat: no-repeat;
	background-size: 132.46vw auto;
	background-position: center -42.3vw;
	display: block;
	position: sticky;
	top: 0;
	z-index: -1;
}

.mds_top {
	margin: 0 auto;
	padding: 0 0 0.6em;
	font-size: min( 5.833vw, 34px );
	font-weight: 600;
	text-align: center;
	line-height: 1.4;
	position: relative;
	z-index: 0;
}
.mds_top::before {
	content: "";
	width: 63px;
	height: 5px;
	margin: 0;
	padding: 0;
	background: linear-gradient( 90deg, #00b827 21px, #fff100 22px, #fff100 42px, #00b827 43px );
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
	bottom: 0;
}

.col_topfunction .mds_top { margin: 0 auto min( 12.22vw, 80px ); }
.cont_topfunction1 {
	width: 92%;
	max-width: 1260px;
	margin: 0 auto min( 11.53vw, 78px );
	padding: 0;
	display: flex;
	justify-content: space-between;
}
.cont_topfunction1 .img {
	width: 610px;
	margin: 0;
	padding: 0;
}
.cont_topfunction1 dl.txt {
	width: calc( 95% - 610px );
	min-width: 386px;
	margin: 0;
	padding: 0;
}
.cont_topfunction1 dl.txt dt {
	margin: 0;
	padding: 0 0 0.2em;
	color: #00b827;
	font-size: min( 5.55vw, 40px );
	font-weight: 500;
	line-height: 1.3;
}
.cont_topfunction1 dl.txt dt span {
	margin: 0 0 0.3em;
	padding: 0 0.1em;
	background: linear-gradient(0deg, rgba(255,241,0,1) 0.262em, rgba(255,241,0,0) calc( 0.262em + 1px ));
	display: inline-block;
}
.cont_topfunction1 dl.txt dd {
	margin: 0;
	padding: 0 0.26em;
	line-height: 2;
}
.cont_topfunction1 dl.txt dd p { margin: 0; }
.cont_topfunction1 dl.txt dd .sp { display: none; }
@media screen and (max-width: 1230px) {
	.cont_topfunction1 .img { width: 54.95%; }
	.cont_topfunction1 dl.txt { width: 40%; }
}
@media screen and (max-width: 850px) {
	.col_topfunction .bgimg .img {
		background-image: url(../img/top/sp/bg_function.png);
		background-repeat: no-repeat;
		background-size: 249.1vw auto;
		background-position: center -70.4vw;
	}
	.cont_topfunction1 {
		display: block;
	}
	.cont_topfunction1 .img {
		width: 93.84%;
		margin: 0 0 10vw auto;
	}
	.cont_topfunction1 dl.txt {
		width: 100%;
		min-width: unset;
	}
	.cont_topfunction1 dl.txt dt {
		padding: 0 0 0.7em;
		text-align: center;
	}
	.cont_topfunction1 dl.txt dd {
		padding: 0;
		text-align: center;
	}
	.cont_topfunction1 dl.txt dd p { margin: 0 0 0.9em; }
	.cont_topfunction1 dl.txt dd .sp { display: inline; }
}

ul.list_topfunction {
	width: 92%;
	max-width: 1480px;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
ul.list_topfunction li {
	width: 30%;
	margin: 0 5% 7% 0;
	padding: 0;
}
ul.list_topfunction li:nth-child(3n-1) { transition-delay: .3s; }
ul.list_topfunction li:nth-child(3n) {
	transition-delay: .6s;
	margin-right: 0;
}
ul.list_topfunction li .mds {
	width: 100%;
	margin: 0 0 7px;
	padding: 0.35em 0.4em;
	color: #fff;
	font-size: min( 1.95vw, 22px );
	line-height: 1.3;
	background-color: #00b827;
	border-radius: 5px;
	display: flex;
	position: relative;
	z-index: 0;
}
ul.list_topfunction li .mds::before {
	content: "";
	margin: 0;
	padding: 0;
	border-top: solid 7px #00b827;
	border-left: solid 7px rgba(255,255,255,0);
	border-right: solid 7px rgba(255,255,255,0);
	position: absolute;
	top: 100%;
	left: calc( 50% - 7px );
}
ul.list_topfunction li .mds .icon {
	width: 24px;
	margin: 0 0 0 6px;
	padding: 5px 0 0;
}
ul.list_topfunction li .mds .txt {
	width: calc( 100% - 30px );
	margin: 0;
	padding: 0;
	text-align: center;
}
ul.list_topfunction li .description {
	margin: 0 0 1.8em;
	padding: 1em 0 0;
	text-align: center;
	line-height: 1.4;
}
ul.list_topfunction li .description .sp { display: none; }
ul.list_topfunction li .img {
	width: 91.8%;
	margin: 0 auto;
	padding: 0;
	border-radius: 10px;
	overflow: hidden;
}
@media screen and (max-width: 1160px) {
	ul.list_topfunction li .mds { font-size: min( 1.9vw, 20px ); }
	ul.list_topfunction li .mds .icon {
		margin: 0 0 0 3px;
		padding: 3px 0 0;
	}
	ul.list_topfunction li .mds .txt { width: calc( 100% - 27px ); }
}
@media screen and (max-width: 960px) {
	ul.list_topfunction li {
		width: 47.5%;
		max-width: 326px;
	}
	ul.list_topfunction li:nth-child(3n-1) { transition-delay: unset; }
	ul.list_topfunction li:nth-child(3n) {
		margin-right: 5%;
		transition-delay: unset;
	}
	ul.list_topfunction li:nth-child(even) {
		margin-right: 0;
		transition-delay: .3s;
	}
	ul.list_topfunction li .mds { font-size: min( 2.9vw, 22px ); }
}
@media screen and (max-width: 600px) {
	ul.list_topfunction {
		width: 90%;
		display: block;
	}
	ul.list_topfunction li {
		width: 100%;
		max-width: unset;
		margin: 0 auto 12vw;
		padding: 0 8% 12vw;
		border-bottom: solid 1px #000000;
	}
	ul.list_topfunction li:nth-child(even) { margin-right: auto; }
	ul.list_topfunction li:nth-child(3n) {
		margin-right: auto;
	}
	ul.list_topfunction li:nth-child(even) { transition-delay: unset; }
	ul.list_topfunction li:last-child {
		margin: 0 auto;
		border-bottom: none;
	}
	ul.list_topfunction li .mds { font-size: min( 5.13vw, 22px ); }
	ul.list_topfunction li .description .sp { display: inline; }
	ul.list_topfunction li .img { width: 100%; }
}

.bg_topprice {
	margin: 0;
	padding: 0;
	background-color: #efefef;
}
.col_topprice {
	width: 92%;
	max-width: 1024px;
	margin: 0 auto;
	padding: 75px 0 80px;
	position: relative;
	z-index: 0;
}
.col_topprice .deco1 {
	width: 240px;
	margin: 0;
	padding: 0;
	position: absolute;
	left: -3%;
	top: -80px;
}
.col_topprice .mds_top { margin: 0 auto 40px; }
.cont_topprice {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
}
.cont_topprice .cont1 {
	width: 47.6%;
	margin: 0;
	padding: 0 4% 0 0;
	align-self: center;
}
.cont_topprice .cont1 .txt_price1 {
	margin: 0;
	padding: 0;
	font-size: min( 2.75vw, 29px );
	font-weight: 700;
	line-height: 1.2;
}
.cont_topprice .cont1 .txt_price1 .akshar {
	font-size: 1.95em;
	font-weight: 500;
}
.cont_topprice .cont1 .txt_price1 .yen { font-size: 0.83em; }
.cont_topprice .cont1 .txt_price1 .tax {
	margin: 0 -0.4em;
	font-size: 0.72em;
	font-weight: 500;
}
.cont_topprice .cont1 .txt_price2 {
	width: 100%;
	margin: 0 0 min( 1.1em, 28px );
	padding: 0;
	color: #00b827;
	font-size: min( 3.2vw, 34px );
	font-weight: 900;
	line-height: 1.1;
	display: flex;
	align-items: flex-end;
}
.cont_topprice .cont1 .txt_price2 .txt1 {
	margin: 0;
	padding: 0;
}
.cont_topprice .cont1 .txt_price2 .akshar {
	margin: 0 0.05em -0.2em -0.08em;
	font-size: 4.57em;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -0.03em;
}
.cont_topprice .cont1 .txt_price2 .yen {
	font-size: 1.42em;
	line-height: 1;
}
.cont_topprice .cont1 .txt_price2 .yen .tax {
	margin: 0 -0.5em;
	font-size: 0.43em;
	font-weight: 500;
}
ul.note_topprice1 {
	margin: 0 0 1.5em;
	padding: 0;
	font-size: 12px;
	line-height: 1.4;
}
ul.note_topprice1 li {
	margin: 0 0 0.3em;
	padding: 0 0 0 1em;
	text-indent: -1em;
}
.comment_topprice1 {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: flex-end;
}
.comment_topprice1 .txt {
	width: 67.7%;
	margin: 0 0 0.5em;
	padding: 0.4em 0 0.4em 0.2em;
	color: #00b827;
	font-size: min( 1.64vw, 15px );
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
	background-color: #fff100;
	border: solid 1px #00b827;
	border-radius: 5px;
	position: relative;
	z-index: 0;
}
.comment_topprice1 .txt::after {
	content: "";
	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;
	background-image: url(../img/top/tail_comment_price.svg);
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: calc( 100% - 1px );
}
.comment_topprice1 .txt .sp { display: none; }
.comment_topprice1 .img {
	width: 26.33%;
	max-width: 100px;
	margin: 0 0 0 5%;
	padding: 0;
	position: relative;
	z-index: 0;
}
.comment_topprice1 .img img {
	width: 100%;
	margin: 0;
	padding: 0;
	position: absolute;
	left: 0;
	bottom: 0;
}
.cont_topprice .cont2 {
	width: 52.4%;
	margin: 0;
	padding: 0 0 0 4%;
	border-left: solid 1px #00b827;
	transition-delay: .3s;
}
.cont_topprice .cont2 .txt_price3 .sp { display: none; }
ul.list_icon_topprice {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
ul.list_icon_topprice li {
	width: 23.5%;
	max-width: 116px;
	height: calc(( 100vw * 0.9 * 0.96 * 0.524 - 24px )/4 );
	max-height: 116px;
	margin: 0 2% 8px 0;
	padding: 0;
	color: #00b827;
	font-size: 12px;
	text-align: center;
	line-height: 1.2;
	background-color: #fff;
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
ul.list_icon_topprice li:nth-child(4n) { margin-right: 0; }
ul.list_icon_topprice li .icon {
	width: 32%;
	margin: 0 0 0.2em;
	padding: 0;
}
ul.list_icon_topprice li .txt {
	height: 2.4em;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
}
@media screen and (max-width: 850px) {
	.col_topprice {
		width: 90%;
		padding: min(12vw, 75px) 0 min( 12.5vw, 80px );
	}
	.col_topprice .deco1 {
		width: 33.33vw;
		max-width: 240px;
		top: max( -11.11vw, -80px );
		left: 0;
	}
	.col_topprice .mds_top { margin: 0 auto 10.77vw; }
	.cont_topprice {
		max-width: 500px;
		margin: 0 auto;
		display: block;
	}
	.cont_topprice .cont1 {
		width: 100%;
		margin: 0 0 min( 30px, 7vw );
		padding: 0;
	}
	.cont_topprice .cont1 .txt_price1 { 
		font-size: min( 5.55vw, 24px );
		text-align: center;
	}
	.cont_topprice .cont1 .txt_price2 {
		font-size: min( 6.528vw, 28px );
		justify-content: center;
	}
	ul.note_topprice1 { text-align: center; }
	.comment_topprice1 {
		max-width: 360px;
		margin: 0 auto;
		justify-content: center;
		align-items: center;
	}
	.comment_topprice1 .txt {
		width: fit-content;
		padding: 0.4em 0.7em 0.4em 1.3em;
		font-size: min(3.8vw, 15px);
	}
	.comment_topprice1 .txt::after {
		width: 2.77vw;
		height: 2.77vw;
	}
	.comment_topprice1 .txt .sp { display: inline; }
	.comment_topprice1 .img {
		width: 30.45%;
	}
	.comment_topprice1 .img img {
		position: static;
	}
	.cont_topprice .cont2 {
		width: 100%;
		padding: min( 28px, 8vw ) 0 0;
		border-left: none;
		border-top: solid 1px #00b827;
		transition-delay: 0s;
	}
	.cont_topprice .cont2 p { text-align: center; }
	ul.list_icon_topprice li {
		width: 25.833vw;
		max-width: 125px;
		height: 25.833vw;
		max-height: 125px;
		margin: 0 2.5% 1% 0;
		font-size: min( 3.33vw, 14px );
	}
	ul.list_icon_topprice li:nth-child(4n) { margin-right: 2.5%; }
	ul.list_icon_topprice li:nth-child(3),
	ul.list_icon_topprice li:last-child { margin-right: 0; }
	ul.list_icon_topprice li:nth-child(4) { margin-left: min( 13vw, 62px ); }
	ul.list_icon_topprice li:nth-child(5) { margin-right: min( 13vw, 62px ); }
}
@media screen and (max-width: 450px) {
	.cont_topprice .cont2 .txt_price3 .sp { display: inline; }
}

.bg_topcompare {
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 0;
}
.bg_topcompare .bgarea {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
.bg_topcompare .bgarea .bgbase {
	width: 90%;
	height: 100%;
	max-width: 920px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	z-index: 0;
}
.bg_topcompare .bgarea .bgbase .deco1 {
	width: 218px;
	height: 147px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 11%;
	right: 90%;
	z-index: -1;
}
.bg_topcompare .bgarea .bgbase .deco1 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
	opacity: 0.2;
}
.bg_topcompare .bgarea .bgbase .deco1 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 12px auto;
	transform: rotate(35deg);
	display: block;
}
.bg_topcompare .bgarea .bgbase .deco2 {
	width: 426px;
	height: 287px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: -5%;
	right: 95%;
	z-index: -1;
}
.bg_topcompare .bgarea .bgbase .deco2 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
}
.bg_topcompare .bgarea .bgbase .deco2 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 15px auto;
	transform: rotate(35deg);
	display: block;
}
.bg_topcompare .bgarea .bgbase .deco3 {
	width: 426px;
	height: 287px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: -21.5%;
	left: 61%;
	z-index: -1;
}
.bg_topcompare .bgarea .bgbase .deco3 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
	opacity: 0.2;
}
.bg_topcompare .bgarea .bgbase .deco3 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 20px auto;
	transform: rotate(35deg);
	display: block;
}
.bg_topcompare .bgarea .bgbase .deco4 {
	width: 218px;
	height: 147px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 8.5%;
	left: 107%;
	z-index: -1;
}
.bg_topcompare .bgarea .bgbase .deco4 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
	opacity: 0.2;
}
.bg_topcompare .bgarea .bgbase .deco4 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 12px auto;
	transform: rotate(35deg);
	display: block;
}
.bg_topcompare .bgarea .bgbase .deco5 {
	width: 426px;
	height: 287px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 34%;
	left: 102%;
	z-index: -1;
}
.bg_topcompare .bgarea .bgbase .deco5 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
}
.bg_topcompare .bgarea .bgbase .deco5 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 15px auto;
	transform: rotate(35deg);
	display: block;
}
.bg_topcompare .bgarea .bgbase .deco6 {
	width: 218px;
	height: 147px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 55%;
	right: 105.5%;
	z-index: -1;
}
.bg_topcompare .bgarea .bgbase .deco6 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
}
.bg_topcompare .bgarea .bgbase .deco6 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 12px auto;
	transform: rotate(35deg);
	display: block;
}
.bg_topcompare .bgarea .bgbase .deco7 {
	width: 317px;
	height: 214px;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 79%;
	bottom: 3%;
	z-index: -1;
}
.bg_topcompare .bgarea .bgbase .deco7 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
	opacity: 0.2;
}
.bg_topcompare .bgarea .bgbase .deco7 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 15px auto;
	transform: rotate(35deg);
	display: block;
}
.bg_topcompare .bgarea .bgbase .deco8 {
	width: 218px;
	height: 147px;
	margin: 0;
	padding: 0;
	position: absolute;
	left: 57%;
	bottom: -3%;
	z-index: -1;
}
.bg_topcompare .bgarea .bgbase .deco8 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
}
.bg_topcompare .bgarea .bgbase .deco8 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen2.svg);
	background-repeat: repeat;
	background-size: 13px auto;
	transform: rotate(40deg);
	display: block;
}

.col_topcompare {
	width: 90%;
	max-width: 920px;
	margin: 0 auto;
	padding: 75px 0 85px;
	position: relative;
	z-index: 0;
}
.col_topcompare .mds_top { margin: 0 auto 52px; }
.col_topcompare .deco {
	width: 208px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: -60px;
	right: -5%;
}

.cont_tbl_compare {
	width: 100%;
	margin: 0;
	padding: 10px 0;
	overflow-x: auto;
}
.cont_tbl_compare table.tbl_compare {
	width: 100%;
	min-width: 820px;
	border-collapse: separate;
}
.cont_tbl_compare table thead th:not(.blank) {
	width: 22%;
	padding: 0.3em 0;
	font-size: 26px;
	font-weight: 500;
	text-align: center;
	vertical-align: middle;
	background-color: #efefef;
	border-top: solid 1px #00b827;
	border-left: solid 1px #00b827;
}
.cont_tbl_compare table thead th:last-child { border-right: solid 1px #00b827; }
.cont_tbl_compare table .cocoorude { width: 30%; }
.cont_tbl_compare table thead th.cocoorude {
	padding-top: 0.6em;
	background-color: #fff;
	position: relative;
	z-index: 1;
}
.cont_tbl_compare table thead th.cocoorude::before {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff;
	border-radius: 15px 0 0 0;
	filter: drop-shadow( 0 -2px 5px rgba(0,0,0,0.25) );
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
}
.cont_tbl_compare table thead th.cocoorude img { width: 174px; }

.cont_tbl_compare table tbody th {
	width: 25.5%;
	margin: 0;
	padding: 1.5em 0.5em;
	color: #00b827;
	font-size: 20px;
	font-weight: 500;
	background-color: #e8f9ec;
	border-left: solid 1px #00b827;
	border-bottom: dotted 1px #00b827;
}
.cont_tbl_compare table tbody tr:first-child th,
.cont_tbl_compare table tbody tr:first-child td { border-top: solid 1px #00b827; }
.cont_tbl_compare table tbody td {
	height: 6em;
	margin: 0;
	padding: 0.5em;
	text-align: center;
	line-height: 1.2;
	background-color: #fff;
	border-left: solid 1px #00b827;
	border-bottom: dotted 1px #00b827;
}
.cont_tbl_compare table tbody td:last-child { border-right: solid 1px #00b827; }
.cont_tbl_compare table tbody tr:last-child th,
.cont_tbl_compare table tbody tr:last-child td { border-bottom: solid 1px #00b827; }
.cont_tbl_compare table tbody td.cocoorude {
	background-color: #ffffa9;
	position: relative;
	z-index: 0
}
.cont_tbl_compare table tbody tr:first-child td.cocoorude::before {
	content: "";
	width: 100%;
	height: calc( 100% * 7 + 7px );
	margin: 0;
	padding: 0;
	background-color: #ffffa9;
	filter: drop-shadow( 0 0 5px rgba(0,0,0,0.25) );
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.cont_tbl_compare table tbody tr:first-child td.cocoorude::after {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border-bottom: dotted 1px #00b827;
	position: absolute;
	top: 0;
	left: 0;
}
.cont_tbl_compare table tbody .rating {
	width: 30px;
	margin: 0 auto 0.5em;
	padding: 0;
}
.cont_tbl_compare table .left.top { border-radius: 15px 0 0 0; }
.cont_tbl_compare table .right.top { border-radius: 0 15px 0 0; }
.cont_tbl_compare table .right.bottom { border-radius: 0 0 15px 0; }
.cont_tbl_compare table .left.bottom { border-radius: 0 0 0 15px; }
@media screen and (max-width: 920px) {
	.col_topcompare .deco { right: 0; }
	.col_topcompare {
		width: 95%;
		margin: 0 0 0 auto;
	}
	.cont_tbl_compare table tbody th {
		width: 18%;
	}
}
@media screen and (max-width: 850px) {
	.bg_topcompare .bgarea .bgbase .deco1 {
		width: 22.98vw;
		height: 15.48vw;
		top: 18vw;
		right: 79%;
	}
	.bg_topcompare .bgarea .bgbase .deco1 .bgcrop::before { background-size: 1.25vw auto; }
	.bg_topcompare .bgarea .bgbase .deco2 {
		width: 44.86vw;
		height: 30.23vw;
		top: -4.9vw;
		right: 82%;
	}
	.bg_topcompare .bgarea .bgbase .deco2 .bgcrop::before { background-size: 1.527vw auto; }
	.bg_topcompare .bgarea .bgbase .deco3 {
		width: 44.86vw;
		height: 30.23vw;
		top: -9.69vw;
		left: 70%;
	}
	.bg_topcompare .bgarea .bgbase .deco3 .bgcrop::before { background-size: 2.26vw auto; }
	.bg_topcompare .bgarea .bgbase .deco4 {
		width: 22.9vw;
		height: 15.48vw;
		top: 27vw;
		left: 98%;
	}
	.bg_topcompare .bgarea .bgbase .deco4 .bgcrop::before { background-size: 1.29vw auto; }
	.bg_topcompare .bgarea .bgbase .deco6 {
		width: 22.98vw;
		height: 15.48vw;
		top:67vw;
		right: 93%;
	}
	.bg_topcompare .bgarea .bgbase .deco6 .bgcrop::before { background-size: 1.329vw auto; }
	.bg_topcompare .bgarea .bgbase .deco7 {
		width: 33.46vw;
		height: 22.55vw;
		right: 74%;
		bottom: -3.68vw;
	}
	.bg_topcompare .bgarea .bgbase .deco7 .bgcrop::before { background-size: 1.638vw auto; }
	.bg_topcompare .bgarea .bgbase .deco8 {
		width: 44.86vw;
		height: 30.23vw;
		left: 88%;
		bottom: -2.14vw;
	}
	.bg_topcompare .bgarea .bgbase .deco8 .bgcrop::before { background-size: 1.666vw auto; }
	.col_topcompare { padding: 17.36vw 0 6vw; }
	.col_topcompare .mds_top { margin: 0 auto 9.875vw; }
	.col_topcompare .deco {
		width: 28.87vw;
		top: max( -10.53vw, -60px );
		right: 5%; 
	}
}
@media screen and (max-width: 700px) {
	.cont_tbl_compare table.tbl_compare { min-width: 158.6vw; }
	.cont_tbl_compare table thead th:not(.blank) {
		width: 27%;
		font-size: min( 5.55vw, 26px );
	}
	.cont_tbl_compare table .cocoorude { width: 28.7%; }
	.cont_tbl_compare table thead th.cocoorude img { width: min( 38.438vw, 174px ); }
	.cont_tbl_compare table tbody th { font-size: min( 3.88vw, 20px ); }
}

.bg_topflow {
	margin: 0;
	padding: 0;
	background-color: #e0f6e5;
}
.col_topflow {
	width: 90%;
	max-width: 940px;
	margin: 0 auto;
	padding: 84px 0;
}
.col_topflow .mds_top { margin: 0 auto 10px; }
.txt_topflow1 {
	width: 100%;
	margin: 0 0 32px;
	padding: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.txt_topflow1 .lead {
	margin: 0;
	padding: 0;
	color: #00b827;
	font-size: min( 3.8vw, 28px );
	font-weight: 900;
	line-height: 1.2;
}
.txt_topflow1 .lead .orange { color: #fa8703; }
.txt_topflow1 .lead .akshar {
	margin: 0 -0.02em -0.25em 0;
	font-size: 3.35em;
	font-weight: 600;
	line-height: 1;
	display: inline-block;
}
.txt_topflow1 .txt {
	margin: 0;
	padding: 0 0 0.2em 1em;
	font-size: min( 2.73vw, 20px );
	font-weight: 500;
	line-height: 1.2;
}
ol.list_topflow1 {
	width: 100%;
	margin: 0 0 55px;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}
ol.list_topflow1 li {
	width: 26vw;
	max-width: 260px;
	height: 26vw;
	max-height: 260px;
	margin: 0;
	padding: 2.5% 0 0;
	position: relative;
	z-index: 0;
}
ol.list_topflow1 li:nth-child(2) { transition-delay: .3s; }
ol.list_topflow1 li:nth-child(3) { transition-delay: .6s; }
ol.list_topflow1 li::before {
	content: "";
	width: 0;
	height: 1px;
	margin: 0;
	padding: 0;
	border-top: dotted 4px #00b827;
	transition: all .6s;
	transition-delay: .1s;
	position: absolute;
	top: calc( 50% - 2px );
	left: 90%;
	z-index: -1;
}
ol.list_topflow1 li:nth-child(2)::before { transition-delay: .4s; }
ol.list_topflow1 li:last-child::before { content: none; }
ol.list_topflow1 li.active::before { width: 40%; }
ol.list_topflow1 li::after {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff;
	border: solid 1px #00b827;
	border-radius: 50%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
ol.list_topflow1 li .submds {
	margin: 0 0 0.2em;
	padding: 0;
	color: #00b827;
	font-size: min( 2.8vw, 24px );
	font-weight: 600;
	text-align: center;
	line-height: 1;
}
ol.list_topflow1 li .submds .num { font-size: 1.833em; }
ol.list_topflow1 li .img {
	width: 48.3%;
	margin: 0 auto 1.5%;
	padding: 0;
}
ol.list_topflow1 li .txt {
	height: 3.2em;
	margin: 0;
	padding: 0;
	font-size: min( 1.72vw, 18px );
	text-align: center;
	line-height: 1.5;
	display: flex;
	align-items: center;
	justify-content: center;
}
dl.cont_option_topflow {
	width: 100%;
	max-width: 670px;
	margin: 0 auto;
	padding: 15px 0;
	color: #fff;
	background: linear-gradient(0deg, #036b37, #59b320);
	border-radius: 16px;
	display: flex;
	position: relative;
	z-index: 0;
}
dl.cont_option_topflow dt {
	width: 34.3%;
	margin: 0;
	padding: 0 0 0 0.2em;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	line-height: 1.35;
	align-self: center;
}
dl.cont_option_topflow dd {
	width: 65.7%;
	margin: 0;
	padding: 0.3em 4%;
	border-left: solid 1px #fff;
}
dl.cont_option_topflow dd .option {
	margin: 0 0.4em 0.7em 0;
	padding: 0 0.8em 0.1em;
	color: #00b827;
	background-color: #fff;
	border-radius: 1.5em;
	display: inline-block;
}
dl.cont_option_topflow dd .label {
	width: 4.6em;
	height: 4.6em;
	margin: 0;
	padding: 1.15em 0 0;
	color: #00b827;
	font-weight: 700;
	line-height: 1.13;
	text-align: center;
	background-color: #fff100;
	border: solid 1px #00b827;
	border-radius: 50%;
	position: absolute;
	top: -1.3em;
	left: -1.3em;
}
@media screen and (max-width: 700px) {
	.col_topflow { padding: 13.8vw 0 11.3vw; }
	.col_topflow .mds_top { margin: 0 auto 6.8vw; }
	.txt_topflow1 {
		margin: 0 0 5vw;
		display: block;
	}
	.txt_topflow1 .lead {
		margin: 0 0 0.8em;
		font-size: min( 5.55vw, 28px );
		text-align: center;
	}
	.txt_topflow1 .txt {
		padding: 0;
		font-size: min( 4.58vw, 20px );
		text-align: center;
	}
	ol.list_topflow1 {
		max-width: 480px;
		margin: 0 auto 12.2vw;
		display: block;
	}
	ol.list_topflow1 li {
		width: 100%;
		max-width: unset;
		height: auto;
		max-height: unset;
		margin: 0 0 5.8vw;
		padding: 1em 0;
		display: flex;
		align-items: center;
	}
	ol.list_topflow1 li:nth-child(2),
	ol.list_topflow1 li:nth-child(3) { transition-delay: 0s; }
	ol.list_topflow1 li::before {
		width: 1px;
		height: 0;
		border-top: none;
		border-left: dotted 4px #00b827;
		transition-delay: .2s;
		top: 98%;
		left: calc( 50% - 2px );
	}
	ol.list_topflow1 li:nth-child(2)::before { transition-delay: .2s; }
	ol.list_topflow1 li.active::before { height: 6vw; }
	ol.list_topflow1 li::after {
		border-radius: 1.66vw;
	}
	ol.list_topflow1 li .submds {
		width: 24%;
		margin: 0;
		padding: 0.2em 0 0;
		font-size: min( 5.55vw, 24px );
	}
	ol.list_topflow1 li .submds .num {
		margin: 0 0 -0.4em;
		display: inline-block;
	}
	ol.list_topflow1 li .img {
		width: 25%;
		margin: 0 0 0 5%;
		order: 1;
	}
	ol.list_topflow1 li .txt {
		width: 37.5%;
		height: auto;
		font-size: min( 3.73vw, 17px );
	}
	dl.cont_option_topflow {
		padding: 0 3%;
		border-radius: 1.6vw;
		display: block;
	}
	dl.cont_option_topflow dt {
		width: 100%;
		padding: 2em 0 0.8em;
		font-size: min( 4.1vw, 20px );
		border-bottom: solid 1px #fff;
	}
	dl.cont_option_topflow dd {
		width: 100%;
		margin: 0 auto;
		padding: 1.6em 0 1.2em;
		font-size: min( 3.33vw, 15px );
		text-align: center;
		border-left: none;
	}
	dl.cont_option_topflow dd .option {
		margin: 0 0.3em 0.7em 0;
		padding: 0 0.7em 0.1em;
	}
	dl.cont_option_topflow dd .label {
		width: 4.2em;
		height: 4.2em;
		padding: 1em 0 0;
		font-size: min( 3.33vw, 15px );
		top: -2.1em;
		left: calc( 50% - 2.1em );
	}
}

.bg_topfaq {
	margin: 0;
	padding: 75px 0 80px;
	background-color: #00b827;
}
.bg_topfaq .mds_top {
	margin: 0 auto 38px;
	color: #fff;
}
.bg_topfaq .mds_top::before { background: linear-gradient( 90deg, #fff 21px, #fff100 22px, #fff100 42px, #fff 43px ); }
.bg_topfaq .col_topfaq {
	width: 90%;
	max-width: 920px;
	margin: 0 auto;
	padding: 0;
}
.col_topfaq dl.list_topfaq {
	width: 100%;
	margin: 0 0 14px;
	padding: 0;
	background-color: #fff;
	border-radius: 10px;
}
.col_topfaq dl.list_topfaq:last-of-type { margin-bottom: 50px; }
.col_topfaq dl.list_topfaq dt {
	width: 100%;
	margin: 0;
	padding: 1em 60px 1em 1em;
	font-size: 18px;
	display: flex;
	position: relative;
	z-index: 0;
	cursor: pointer;
}
.col_topfaq dl.list_topfaq dt .arrow {
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: solid 1px #00b827;
	border-radius: 50%;
	cursor: pointer;
	position: absolute;
	top: calc( 50% - 15px );
	right: 20px;
}
.col_topfaq dl.list_topfaq dt .arrow::before {
	content: "";
	width: 5px;
	height: 5px;
	margin: 0;
	padding: 0;
	border-left: solid 2px #00b827;
	border-bottom: solid 2px #00b827;
	transform-origin: center center;
	transform: rotate(-45deg);
	transition: all .5s;
	position: absolute;
	top: calc( 50% - 4px );
	right: 10px;
}
.col_topfaq dl.list_topfaq.open dt .arrow::before {
	transform: rotate(135deg);
	top: calc( 50% - 2px );
}
.col_topfaq dl.list_topfaq dt .mds {
	width: 1.4em;
	margin: 0;
	padding: 0;
	color: #00b827;
	font-weight: 600;
	font-size: 2.22em;
	line-height: 1;
}
.col_topfaq dl.list_topfaq dt .txt {
	width: calc( 100% - 3.1em );
	margin: 0;
	padding: 0;
	line-height: 1.3;
	align-self: center;
}
.col_topfaq dl.list_topfaq dd {
	margin: 0;
	padding: 0 60px 1.8em 1.2em;
	cursor: pointer;
}
.col_topfaq dl.list_topfaq dd .txt {
	width: calc( 100% - 3.73em );
	margin: 0 0 0 auto;
	padding: 1em 1.6em;
	line-height: 2;
	background-color: #ebf9ee;
	border-radius: 10px;
}

.col_topfaq dl.list_topfaq dd .txt p{
	margin: 0;
}    

.col_topfaq dl.list_topfaq dd .txt .note {
	margin: 0.6em 0 0;
	padding: 0 0 0 1em;
	font-size: 0.8em;
	text-indent: -1em;
	line-height: 1.4;
}
a.btn_topfaq {
	width: 178px;
	margin: 0 auto;
	padding: 0;
	color: #00b827;
	text-align: center;
	line-height: 1.3;
	background: linear-gradient(0deg, #ccc, #fff 60% );
	border: solid 1px #00b827;
	border-radius: 10px;
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
a.btn_topfaq::before {
	content: "";
	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;
	border: solid 1px #00b827;
	border-radius: 50%;
	position: absolute;
	top: calc( 50% - 8px );
	right: 14px;
	z-index: 1;
}
a.btn_topfaq::after {
	content: "";
	width: 3px;
	height: 3px;
	margin: 0;
	padding: 0;
	border-top: solid 2px #00b827;
	border-right: solid 2px #00b827;
	transform: rotate(45deg);
	position: absolute;
	top: calc( 50% - 2px );
	right: 20px;
	z-index: 1;
}
a.btn_topfaq .bg {
	width: 100%;
	margin: 0;
	padding: 0.8em 1.2em 0.8em 0.8em;
	display: block;
	position: relative;
	z-index: 0;
}
a.btn_topfaq .bg::before {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: linear-gradient(180deg, #ccc, #fff 60% );
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
@media screen and (min-width: 701px) {
	a.btn_topfaq .bg::before { transition: opacity .4s; }
	a.btn_topfaq:hover .bg::before { opacity: 1; }
}
@media screen and (max-width: 700px) {
	.bg_topfaq { padding: 10.83vw 0 11.11vw; }
	.bg_topfaq .mds_top { margin: 0 auto 5.833vw; }
	.col_topfaq dl.list_topfaq {
		margin: 0 0 3.47vw;
		border-radius: 1.66vw;
	}
	.col_topfaq dl.list_topfaq:last-of-type { margin-bottom: 10vw; }
	.col_topfaq dl.list_topfaq dt { font-size: min( 4.166vw, 18px ); }
	.col_topfaq dl.list_topfaq dt .mds { width: 1.2em; }
	.col_topfaq dl.list_topfaq dd { padding: 0 1.2em 1.8em; }
	.col_topfaq dl.list_topfaq dd .txt {
		width: calc( 100% - 3em );
		padding: 0.8em 1em;
		line-height: 1.78;
	}
}

.bg_topnews {
	margin: 0;
	padding: 75px 0 85px;
}
.bg_topnews .mds_top { margin: 0 auto 45px; }
.col_topnews {
	width: 90%;
	max-width: 1260px;
	margin: 0 auto 35px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.col_topnews .box_topnews {
	width: 22.3%;
	margin: 0 3.6% 0 0;
	padding: 0;
}
.col_topnews .box_topnews:nth-child(4n) { margin-right: 0; }
.col_topnews .box_topnews a{
color: #000;
}
.col_topnews .box_topnews a:hover dd a::before {
        width: calc(100% + 0.4em);
    }
.col_topnews .box_topnews .img {
	width: 100%;
	height: 14.6vw;
	max-height: 204px;
	margin: 0 0 30px;
	padding: 0;
	border-radius: 14px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));
	overflow: hidden;
}
.col_topnews .box_topnews .img.noimg {
	background-color: #fff;
	background-image: url(../img/logo.svg);
	background-repeat: no-repeat;
	background-size: 57% auto;
	background-position: center center;
}
.col_topnews .box_topnews .img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.col_topnews .box_topnews dl.txt_topnews {
	margin: 0;
	padding: 0 0.2em;
}
dl.txt_topnews dt {
	width: 100%;
	margin: 0 0 1.4em;
	padding: 0;
	line-height: 1.2;
	display: flex;
	align-items: center;
}
dl.txt_topnews dt .label {
	margin: 0 0.9em 0 0;
	padding: 0.15em 0.5em;
	color: #fff;
	font-size: 0.87em;
	background-color: #00b827;
	border-radius: 2px;
}
dl.txt_topnews dt .label.works { background-color: #f6ab00; }
dl.txt_topnews dd {
	margin: 0;
	padding: 0;
	font-size: 1.33em;
	font-weight: 500;
	line-height: 1.35;
}
dl.txt_topnews dd a {
	width: fit-content;
	margin: 1.2em 0 0;
	padding: 0 0 0.25em;
	color: #000;
	font-size: 0.75em;
	font-weight: 300;
	display: block;
	position: relative;
	z-index: 0;
}
dl.txt_topnews dd a::before {
	content: "";
	width: 1.2em;
	height: 1px;
	margin: 0;
	padding: 0;
	background-color: #00b827;
	position: absolute;
	left: -0.2em;
	bottom: 0;
}
a.btn_topnews {
	width: 178px;
	margin: 0 auto;
	padding: 0;
	color: #00b827;
	line-height: 1.4;
	text-align: center;
	background: linear-gradient(0deg, #ccc, #fff 60% );
	border: solid 1px #00b827;
	border-radius: 9px;
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
a.btn_topnews::before {
	content: "";
	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;
	border: solid 1px #00b827;
	border-radius: 50%;
	position: absolute;
	top: calc( 50% - 7px );
	right: 13px;
	z-index: 1
}
a.btn_topnews::after {
	content: "";
	width: 3px;
	height: 3px;
	margin: 0;
	padding: 0;
	border-top: solid 2px #00b827;
	border-right: solid 2px #00b827;
	transform: rotate(45deg);
	position: absolute;
	top: calc( 50% - 1px );
	right: 19px;
	z-index: 1
}
a.btn_topnews .bg {
	width: 100%;
	margin: 0;
	padding: 0.8em 1.4em 0.8em 0.5em;
	display: block;
	position: relative;
	z-index: 0;
}
a.btn_topnews .bg::before {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: linear-gradient(180deg, #ccc, #fff 60% );
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
@media screen and (max-width: 850px) {
	.col_topnews .box_topnews {
		width: 48%;
		margin: 0 4% 4% 0;
	}
	.col_topnews .box_topnews:nth-child(even) { margin-right: 0; }
	.col_topnews .box_topnews .img {
		height: calc( 100vw * 0.9 * 0.48 * 262 / 360 );
		max-height: 267px;
	}
}
@media screen and (min-width: 701px) {
	dl.txt_topnews dd a::before { transition: width .4s; }
	dl.txt_topnews dd a:hover::before { width: calc( 100% + 0.4em ); }
	a.btn_topnews .bg::before { transition: opacity .4s; }
	a.btn_topnews:hover .bg::before { opacity: 1; }
}
@media screen and (max-width: 700px) {
	.bg_topnews { padding: 12.77vw 0 9.44vw; }
	.bg_topnews .mds_top { margin: 0 auto 1.5vw; }
}
@media screen and (max-width: 600px) {
	.col_topnews {
		margin: 0 auto 7.73vw;
		display: block;
	}
	.col_topnews .box_topnews {
		width: 100%;
		margin: 0;
		padding: 6.9vw 2%;
		border-bottom: dotted 1px #000000;
		display: flex;
	}
	.col_topnews .box_topnews a {
    color: #000;
    width: 100%;
    margin: 0;
    display: flex;
}
	.col_topnews .box_topnews .img {
		width: 37.23%;
		height: 21.66vw;
		max-height: 130px;
		margin: 0 3.75vw 0 0;
		border-radius: 1.944vw;
	}
	.col_topnews .box_topnews dl.txt_topnews {
		width: calc( 62.77% - 3.75vw );
		padding: 0;
	}
	dl.txt_topnews dt { margin: 0 0 1em; }
}

.bg_btmintro {
	margin: 0;
	padding: 0;
	background-color: #00bd44;
	overflow: hidden;
}
.col_btmintro {
	width: 90%;
	max-width: 1080px;
	margin: 0 auto;
	padding: min( 7.5vw, 90px ) 0 37px;
	display: flex;
	position: relative;
	z-index: 0;
}
.col_btmintro::before {
	content: "";
	width: 125.4vw;
	max-width: 1505px;
	height: 125.4vw;
	max-height: 1505px;
	margin: 0;
	padding: 0;
	background: linear-gradient(134deg, rgba(255,241,0,1), rgba(255,241,0,0) 87%);
	border-radius: 50%;
	position: absolute;
	right: 20%;
	bottom: 17%;
	z-index: -1;
}
.col_btmintro::after {
	content: "";
	width: 84.25vw;
	max-width: 1011px;
	height: 84.25vw;
	max-height: 1011px;
	margin: 0;
	padding: 0;
	background: linear-gradient(-45deg, rgba(255,241,0,1), rgba(255,241,0,0) 85%);
	border-radius: 50%;
	position: absolute;
	top: 8.5%;
	left: 32.5%;
	z-index: -1;
}
.col_btmintro .deco1 {
	width: 426px;
	height: 287px;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 84.35%;
	bottom: 80%;
	z-index: -1;
}
.col_btmintro .deco1 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
}
.col_btmintro .deco1 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen1.svg);
	background-repeat: repeat;
	background-size: 18px auto;
	transform: rotate(35deg);
	display: block;
}
.col_btmintro .deco2 {
	width: 290px;
	height: 44px;
	margin: 0;
	padding: 0;
	transform: rotate(-45deg);
	position: absolute;
	right: 95.2%;
	bottom: 62%;
	z-index: -1;
}
.col_btmintro .deco3 {
	width: 292px;
	height: 197px;
	margin: 0;
	padding: 0;
	position: absolute;
	left: 33.24%;
	bottom: 54.5%;
	z-index: -1;
}
.col_btmintro .deco3 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
	opacity: 0.2;
}
.col_btmintro .deco3 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotwhite1.svg);
	background-repeat: repeat;
	background-size: 18px auto;
	transform: rotate(35deg);
	display: block;
}
.col_btmintro .deco4 {
	width: 184px;
	height: 124px;
	margin: 0;
	padding: 0;
	position: absolute;
	left: 72.22%;
	bottom: 94%;
	z-index: -1;
}
.col_btmintro .deco4 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
}
.col_btmintro .deco4 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen1.svg);
	background-repeat: repeat;
	background-size: 15px auto;
	transform: rotate(35deg);
	display: block;
}
.col_btmintro .deco5 {
	width: 312px;
	height: 47px;
	margin: 0;
	padding: 0;
	transform: rotate(-45deg);
	position: absolute;
	left: 79.4%;
	bottom: 100.5%;
	z-index: -1;
}
.col_btmintro .deco6 {
	width: 272px;
	height: 41px;
	margin: 0;
	padding: 0;
	transform: rotate(-45deg);
	position: absolute;
	left: 95%;
	bottom: 47%;
}
.col_btmintro .deco7 {
	width: 340px;
	height: 230px;
	margin: 0;
	padding: 0;
	position: absolute;
	right: 88.2%;
	top: 71.5%;
	z-index: -1;
}
.col_btmintro .deco7 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
	opacity: 0.2;
}
.col_btmintro .deco7 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen1.svg);
	background-repeat: repeat;
	background-size: 21px auto;
	transform: rotate(35deg);
	display: block;
}
.col_btmintro .deco8 {
	width: 272px;
	height: 41px;
	margin: 0;
	padding: 0;
	transform: rotate(-45deg);
	position: absolute;
	top: 82%;
	left: 23%;
	z-index: -1;
}
.col_btmintro .deco9 {
	width: 184px;
	height: 124px;
	margin: 0;
	padding: 0;
	position: absolute;
	top: 83%;
	left: 92%;
}
.col_btmintro .deco9 .bgcrop {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	transform: rotate(-35deg);
	overflow: hidden;
}
.col_btmintro .deco9 .bgcrop::before {
	content: "";
	width: 150%;
	height: 150%;
	background-image: url(../img/top/bg_dotgreen1.svg);
	background-repeat: repeat;
	background-size: 19px auto;
	transform: rotate(35deg);
	display: block;
}
.col_btmintro .deco_square {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}
.col_btmintro .square1 {
	width: 100%;
	height: 19%;
	background-color: #74d926;
}
.col_btmintro .square2 {
	width: 60%;
	height: 44.54%;
	background-color: #74d926;
}

.col_btmintro .txt {
	width: 50%;
	margin: 0;
	padding: 0;
}
.col_btmintro .txt .lead1 {
	margin: 0 0 22px;
	padding: 0;
}
.col_btmintro .txt .lead2 {
	width: 87.95%;
	margin: 0 0 28px;
	padding: 0;
}
ul.check_btmintro {
	width: 100%;
	margin: 0 0 32px;
	padding: 0;
	color: #fff;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.1;
	display: flex;
}
ul.check_btmintro li {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: flex-end;
}
ul.check_btmintro li + li { margin-left: 20px; }
ul.check_btmintro li .icon {
	width: 24px;
	margin: 0 6px 9px 0;
	padding: 0;
}
ul.check_btmintro li .txt {
	width: 4.3em;
	margin: 0;
	padding: 0;
}
ul.check_btmintro li:nth-child(2) .txt {
	padding: 0 0 9px;
}
ul.check_btmintro li .txt .small { font-size: 0.88em; }
ul.check_btmintro li .yellow {
	margin: 0;
	padding: 0;
	color: #fff100;
}
ul.check_btmintro li .yellow .akshar {
	margin: 0 0 -0.05em;
	font-size: 3.34em;
	font-weight: 600;
	display: inline-block;
}
ul.check_btmintro li:first-child .yellow .akshar {
	margin: 0 0 -0.2em;
	letter-spacing: -0.02em;
}
ul.check_btmintro li .yellow .yen {
	font-size: 1.176em;
	display: inline-block;
	position: relative;
	z-index: 0;
}
ul.check_btmintro li .yellow .yen .tax {
	margin: 0;
	padding: 0;
	font-size: 0.518em;
	display: inline-block;
	position: absolute;
	left: -0.7em;
	bottom: 100%;
}
a.btn_btmintro {
	width: 72%;
	max-width: 388px;
	margin: 0;
	padding: 0;
	color: #00b827;
	font-size: min(2vw, 1.6em);
	text-align: center;
	background: linear-gradient(0deg, #ccc, #fff 60% );
	border-radius: 17px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.2));
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
a.btn_btmintro::before {
	content: "";
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
	border: solid 1px #00b827;
	border-radius: 50%;
	position: absolute;
	top: calc( 50% - 12px );
	right: 18px;
	z-index: 1;
}
a.btn_btmintro::after {
	content: "";
	width: 4px;
	height: 4px;
	margin: 0;
	padding: 0;
	border-top: solid 2px #00b827;
	border-right: solid 2px #00b827;
	transform: rotate(45deg);
	position: absolute;
	top: calc( 50% - 2px );
	right: 29px;
	z-index: 1;
}
a.btn_btmintro .bg {
	width: 100%;
	margin: 0;
	padding: 0.7em 1em 0.7em 0.5em;
	display: block;
	position: relative;
	z-index: 0;
}
a.btn_btmintro .bg::before {
	content: "";
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background: linear-gradient(180deg, #ddd, #fff 60% );
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}

.col_btmintro .img {
	width: 45.2%;
	margin: 0;
	padding: 0 0 30px;
	position: relative;
	z-index: 0;
}
.col_btmintro .img .deco_dot {
	width: 122px;
	height: 122px;
	margin: 0;
	padding: 0;
	background-image: url(../img/top/bg_dotwhite1.svg);
	background-repeat: repeat;
	background-size: 9px auto;
	border-radius: 50%;
	opacity: 0.2;
	overflow: hidden;
	position: absolute;
	right: 60%;
	bottom: 5%;
	z-index: -1;
}

.col_btmintro .img .decoimg1 {
	width: 36%;
	margin: 0;
	padding: 0;
	position: absolute;
	top: -16.2%;
	right: -16.8%;
	z-index: -1;
}
.col_btmintro .img .decoimg1 .sp { display: none; }
.col_btmintro .img .decoimg2 {
	width: 48%;
	margin: 0;
	padding: 0;
	position: absolute;
	left: -14%;
	bottom: 4%;
}
.col_btmintro .img .img_sp {
	width: 28.07%;
	margin: 0;
	padding: 0;
	position: absolute;
	right: -8%;
	bottom: 0;
}
@media screen and (max-width: 960px) {
	.col_btmintro { justify-content: space-between; }
	.col_btmintro .txt { width: 54%; }
	.col_btmintro .img .decoimg1 { right: -14%; }
}
@media screen and (max-width: 850px) {
	.col_btmintro {
		width: 100%;
		padding: 13.6vw 0 17vw;
		display: block;
	}
	.col_btmintro::before {
		width: 150vw;
		max-width: unset;
		height: 150vw;
		max-height: unset;
		bottom: 50%;
	}
	.col_btmintro::after {
		width: 140.4vw;
		max-width: unset;
		height: 140.4vw;
		max-height: unset;
		top: 42%;
		left: 34%;
	}
	.col_btmintro .deco1 {
		width: 59.19vw;
		height: 39.89vw;
		right: 74%;
		bottom: 91%;
	}
	.col_btmintro .deco1 .bgcrop::before { background-size: 2.58vw auto; }
	.col_btmintro .deco2 {
		width: 40.3vw;
		height: 6.044vw;
		top: 52.33vw;
		right: 74.89%;
		bottom: auto;
	}
	.col_btmintro .deco3 {
		width: 40.65vw;
		height: 27.4vw;
		left: auto;
		top: 73.5vw;
		right: 68.52vw;
		bottom: auto;
	}
	.col_btmintro .deco3 .bgcrop { opacity: 0.4; }
	.col_btmintro .deco3 .bgcrop::before { background-size: 2.57vw auto; }
	.col_btmintro .deco4 {
		width: 25.66vw;
		height: 17.29vw;
		top: 35.33vw;
		left: 87.07%;
		bottom: auto;
	}
	.col_btmintro .deco4 .bgcrop::before { background-size: 2.57vw auto; }
	.col_btmintro .deco5,
	.col_btmintro .deco6 { display: none; }
	.col_btmintro .deco7 {
		width: 40.65vw;
		height: 27.4vw;
		top: auto;
		right: 38.33vw;
		bottom: -24.42vw;
	}
	.col_btmintro .deco7 .bgcrop { opacity: 0.4; }
	.col_btmintro .deco7 .bgcrop::before {
		background-image: url(../img/top/bg_dotwhite1.svg);
		background-size: 2.57vw auto;
	}
	.col_btmintro .deco8 {
		width: 37.77vw;
		height: 5.67vw;
		top: auto;
		left: 19.6vw;
		bottom: 36.77vw;
	}
	.col_btmintro .deco9 {
		width: 25.67vw;
		height: 17.3vw;
		top: auto;
		left: 90%;
		bottom: 22.66vw;
	}
	.col_btmintro .deco9 .bgcrop::before { background-size: 2.56vw auto; }
	.col_btmintro .txt {
		width: 83.88vw;
		max-width: 620px;
		margin: 0 auto;
	}
	.col_btmintro .txt .lead1 { margin: 0 0 min( 4.86vw, 22px ); }
	.col_btmintro .txt .lead2 { margin: 0 auto min( 3.88vw, 28px ); }
	ul.check_btmintro {
		font-size: 21px;
		justify-content: center;
	}
	a.btn_btmintro {
		width: 68.6%;
		font-size: min( 4.16vw, 1.6em );
		transform: translateX(-50%);
		position: absolute;
		top: auto;
		left: 50%;
		bottom: calc( 8vw - 15px );
	}
	a.btn_btmintro.active {
		top: auto;
		bottom: 8vw;
	}
	.col_btmintro .img {
		width: 67.6%;
		max-width: 500px;
		margin: 0 auto 6.6vw;
		padding: 0 0 8.3vw;
	}
	.col_btmintro .img .decoimg1 {
		width: 23.3%;
		top: -4.5%;
		right: -15.5%;
	}
	.col_btmintro .img .decoimg1 .pc { display: none; }
	.col_btmintro .img .decoimg1 .sp { display: inline-block; }
	.col_btmintro .img .decoimg2 { left: -9%; }
	.col_btmintro .img .img_sp {
		right: -11%;
		bottom: 3%;
	}
}
@media screen and (min-width: 701px) {
	a.btn_btmintro .bg::before { transition: opacity .4s; }
	a.btn_btmintro:hover .bg::before { opacity: 1; }
}
@media screen and (max-width: 600px) {
	.col_btmintro { padding: 13.6vw 0 32vw; }
	ul.check_btmintro {
		width: fit-content;
		margin: 0 auto 6vw;
		font-size: 4.4vw;
		display: block;
	}
	ul.check_btmintro li + li { margin: 1vw 0 0; }
	ul.check_btmintro li .icon {
		width: 6.3vw;
		margin: 0 1.5vw 1.7vw 0;
	}
	ul.check_btmintro li:nth-child(2) .txt { padding: 0 0 2vw; }
	a.btn_btmintro {
		font-size: 4.16vw;
		border-radius: 3.12vw;
		bottom: calc( 12vw - 15px );
	}
	a.btn_btmintro.active { bottom: 12vw; }
	.col_btmintro .img { margin: 0 auto; }
}