@charset "utf-8";
main#stripeBg div#stripeBgInner {
  background: linear-gradient(170deg, rgba(255,255,255,0) 350px, #F3F3F4 350px);
}
ul,
li {
	padding: 0;
	margin: 0;
	list-style: none;
}
button {
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  color: inherit;
  outline: none;
  box-shadow: none;
}
button:focus {
  outline: none;
  box-shadow: none;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: 700;
}
p {
  margin: 0;
}
a,
a:hover {
	text-decoration: none;
}
small {
	color: #000!important;
}
section {
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.3;
	letter-spacing: 0.01em;
	padding: 80px 0 40px;
	overflow: hidden;
	@media (max-width: 767px) {
		padding: 50px 0 30px;
	}
}
.container {
	@media (max-width: 767px) {
		padding-left: 20px;
		padding-right: 20px;
	}
}
.spNone {
	display: block;
	@media (max-width: 767px) {
		display: none!important;
	}
}
.pcNone {
	display: none!important;
	@media (max-width: 767px) {
		display: block!important;
	}
}
h2 {
	font-size: 38px;
	text-align: center;
	margin-bottom: 1.5em;
	@media (max-width: 767px) {
		font-size: 28px;
	}
	strong {
		font-size: 50px;
	}
}
.h2_txt {
	font-size: 24px;
	text-align: center;
	margin-top: -1.5em;
	@media (max-width: 767px) {
		font-size: 16px;
	}
}
.color-red {
	color: #E10012;
}

/*-----------------------------------------
会員登録ボタン
-----------------------------------------*/
.downloadBlock {
	margin-top: 80px;
	@media (max-width: 767px) {
		width: auto;
	}
	ul.downloadBlock_pc {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0;
		padding: 0;
		position: relative;
		&:before {
			content: '＼会員登録はこちらから／';
			font-size: 25px;
			font-weight: bold;
			text-align: center;
			position: absolute;
			left: 0;
			right: 0;
			top: -1.5em;
			margin: 0 auto;
		}
		li {
			display: inline-block;
			width: 36%;
			vertical-align: bottom;
			padding: 1%;
			margin: 1% 0;
			a {
				position: relative;
				overflow: hidden;
				display: inline-block;
				transition: .2s;
				&:after {
					content: "";
					position: absolute;
					top: 0;
					left: -100%;
					width: 100%;
					height: 100%;
					background: linear-gradient(
						120deg,
						rgba(255,255,255,0) 0%,
						rgba(255,255,255,0.35) 50%,
						rgba(255,255,255,0) 100%
					);
					transition: transform .5s ease;
				}
				&:hover {
					transform: scale(.98);
					&:after {
						transform: translateX(200%);
					}
				}
			}
		}
	}
	.downloadBlock_sp {
		width: 100%;
		font-size: 18px;
		line-height: 1;
		text-align: center;
		margin: 0 auto;
		position: relative;
		a {
			display: block;
			color: #fff;
			background-color: #000;
			border-radius: 7px;
			padding: 1em 1.5em;
			box-shadow: 1px 1px 4px rgba(0, 0, 0, .5);
		}
		&:before {
			content: '＼会員登録はこちらから／';
			font-size: 18px;
			font-weight: bold;
			text-align: center;
			position: absolute;
			left: 0;
			right: 0;
			top: -1.5em;
			margin: 0 auto;
			text-shadow: -2px -2px 4px #fff;
		}
	}
}
.downloadBlock-float {
	width: 700px;
	margin: 0 auto;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 15px;
	z-index: 5;
	padding: 0 20px;
	transition: opacity .3s ease;
	@media (max-width: 767px) {
		width: 100%;
	}
	.downloadBlock_pc {
		&:before {
			content: none!important;
		}
	}
	.downloadBlock_sp {
		&:before {
			content: none;
		}
		a {
			background-color: #E60012;
		}
	}
}

/*-----------------------------------------
MV
----------------------------------------- */
#mv {
	@media (max-width: 767px) {
		background-color: #fff;
		padding: 20px 0 30px;
	}
	.mvBox {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		@media (max-width: 767px) {
			width: calc(100% + 40px);
			margin-left: -20px;
		}
		.floL {
			width: 70%;
			display: flex;
			flex-wrap: wrap;
			flex-direction: column;
			align-items: center;
			box-sizing: border-box;
			text-align: center;
			@media (max-width: 767px) {
				width: 100%;
				margin: 0 auto 20px;
			}
			h1 {
				margin: 1em 0 0;
				@media (max-width: 767px) {
					margin: 0;
					padding: 0 10% 15px;
				}
			}
			.mv_sale {
				@media (max-width: 767px) {
					background-color: #E60012;
					padding-bottom: 60px;
				}
			}
			.mv_phone {
				@media (max-width: 767px) {
					position: relative;
					top: -65px;
				}
			}
			.mv_txt {
				margin: 2.5em 0 -40px;
				@media (max-width: 767px) {
					margin: -35px 0 -15px;
					padding: 0 5%;
				}
			}
			.downloadBlock {
				.downloadBlock_pc {
					&:before {
						content: none;
					}
				}
			}
		}
		.floR {
			width: 30%;
			@media (max-width: 767px) {
				display: none;
			}
		}
	}
}


/*-----------------------------------------
functionmain
----------------------------------------- */
#functionmain {
	@media (max-width: 767px) {
		padding: 20px 0 30px;
	}
}
#functionmain .stepBox {
	display: none;
	/* display: flex; */
	justify-content: center;
	align-items: flex-start;
	margin: 30px 0 50px;
	position: relative;
	&:before {
		content: '';
		width: 100%;
		height: 23px;
		clip-path: polygon(0 0, 98% 0, 100% 100%, 0% 100%);
		background-color: rgba(225, 0, 18, 0.1);
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
}
#functionmain .stepBox li {
	width: 18%;
	text-align: center;
	margin: 0;
}
#functionmain .stepBox li figure {
}
#functionmain .stepBox li p {
	font-size: 14px;
	text-align: center;
	margin-top: .5em;
}

/*stepFlow*/
.stepFlow {
	@media (max-width: 767px) {
		width: calc(100% + 40px);
		margin-left: -20px;
	}
}
.flowBlock {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	margin-top: 40px;
	border-radius: 200px 0 0 200px;
	position: relative;
	@media (max-width: 767px) {
		padding: 0 20px;
	}
	&:before {
		content: '';
		width: 190%;
		height: 23px;
		clip-path: polygon(2% 0, 100% 0, 100% 100%, 0% 100%);
		background-color: rgba(225, 0, 18, 0.1);
		position: absolute;
		right: -100%;
		top: 10em;
		z-index: 2;
		@media (max-width: 767px) {
			width: 93%;
			right: 0;
			top: 7.7em;
		}
	}
	&:after {
		content: '';
		width: 100%;
		height: 100%;
		background: #fff;
		position: absolute;
		right: -100%;
		top: 0;
	}
	.fbL {
		padding: 70px 2em 70px 7em;
		box-sizing: border-box;
		@media (max-width: 767px) {
			width: 70%;
			padding: 20px .5em 25px;
		}
		.fbLttl {
			display: flex;
			flex-wrap: wrap;
			align-items: flex-end;
			position: relative;
			@media (max-width: 767px) {
				text-align: center;
			}
			.fbLttl_num {
				font-size: 62px;
				line-height: 1;
				color: #E10012;
				font-weight: bold;
				position: absolute;
				left: -1.2em;
				bottom: -.1em;
				@media (max-width: 767px) {
					width: 100%;
					font-size: 42px;
					position: static;
				}
			}
			h3 {
				font-size: 33px;
				@media (max-width: 767px) {
					font-size: 22px;
					margin: .5em auto 0;
				}
				small {
					display: block;
					font-size: 26px;
					font-weight: bold;
					@media (max-width: 767px) {
						font-size: 14px;
					}
				}
			}
		}
		.fbL_txt {
			font-size: 18px;
			margin: 2em 0 2em;
			@media (max-width: 767px) {
				font-size: 14px;
				margin: 2em 0.5em 1.5em;
			}
		}
		.fbL_btn {
			a {
				display: inline-block;
				width: 190px;
				font-size: 18px;
				color: #000;
				line-height: 1;
				font-weight: bold;
				text-align: center;
				border-radius: 30px;
				background-color: #fff;
				border: solid 1px #E10012;
				padding: .4em 1.5em .5em;
				transition: .2s;
				@media (max-width: 767px) {
					width: auto;
					font-size: 14px;
				}
				&:hover {
					background-color: rgba(225, 0, 18, 0.1);
					letter-spacing: -.1em;
				}
			}
		}
	}
	.fbR {
		width: 15%;
		position: relative;
		z-index: 3;
		@media (max-width: 767px) {
			width: 30%;
		}
	}
}
.flowBlock-reverse {
	flex-direction: row-reverse;
	border-radius: 0 200px 200px 0;
	@media (max-width: 767px) {
		flex-direction: row;
		border-radius: 200px 0 0 200px;
	}
	&:before {
		content: '';
		width: 190%;
		height: 23px;
		clip-path: polygon(0 0, 98% 0, 100% 100%, 0% 100%);
		background-color: rgba(225, 0, 18, 0.1);
		position: absolute;
		left: -100%;
		top: 10em;
		z-index: 2;
		@media (max-width: 767px) {
			width: 93%;
			clip-path: polygon(2% 0, 100% 0, 100% 100%, 0% 100%);
			left: auto;
			right: 0;
			top: 7.7em;
		}
	}
	&:after {
		content: '';
		width: 100%;
		height: 100%;
		background: #fff;
		position: absolute;
		left: -100%;
		top: 0;
	}
}

/*-----------------------------------------
functionother
----------------------------------------- */
#functionother {
}
#functionother ul {
	display: grid;
    grid-template-columns: repeat(3, 32%);
    justify-content: space-between;
    row-gap: 20px; /* 縦の余白 */
	margin-top: 30px;
	@media (max-width: 767px) {
        grid-template-columns: repeat(2, 48%);
		justify-content: space-between;
		row-gap: 10px; /* 縦の余白 */
	}
	li {
		display: flex;
		flex-direction: column;
		gap: 12px;
		vertical-align: top;
		background-color: #fff;
		padding: 20px 10px;
		box-sizing: border-box;
		@media (max-width: 767px) {
			padding: 10px 4px;
		}
		dl {
			text-align: center;
			margin: 0;
			dt {
				h4 {
					display: inline-block;
					color: #fff;
					font-size: 26px;
					line-height: 1;
					background-color: #E10012;
					padding: .2em .5em .3em;
					@media (max-width: 767px) {
						font-size: 13px;
					}
				}
				figure {
					height: 120px;
					display: flex;
					align-items: center;
					justify-content: center;
					margin: 1em 0;
					@media (max-width: 767px) {
						height: 65px;
					}
					img {
						width: auto;
						height: 100%;
					}
				}
			}
			dd {
				font-size: 16px;
				font-weight: 500!important;
				margin-top: auto;
				margin-bottom: auto;
				font-weight: bold;
				@media (max-width: 767px) {
					font-size: 11px;
				}
				a {
					color: #E10012;
					text-decoration: underline;
					transition: .2s;
					&:hover {
						letter-spacing: -.1em;
					}
				}
			}
		}
	}
}

/* -----------------------------------------
question
----------------------------------------- */
.queAccordion {
  background-color: #fff;
  padding: 0 35px;
  border-radius: 20px;
  @media (max-width: 767px) {
	padding: 0 15px;
  }
  &:nth-child(n+2) {
	margin-top: 25px;
  }
}
.queAccordion_header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 22px;
  text-align: left;
  padding: 15px 5px;
  cursor: pointer;
  position: relative;
  @media (max-width: 767px) {
	font-size: 14px;
	padding: 15px 0;
  }
}
.queAccordion_header:after {
	content: '';
	display: inline-block;
	width: 1.5em;
	height: 1em;
	background-image: url(../img/question_icon.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transform: rotate(-180deg);
	transition: transform 0.2s ease;
	@media (max-width: 767px) {
		width: 1.2em;		
	}
}
.queAccordion_header.is-open:after {
	transform: rotate(0deg);
}
.queAccordion_label {
	display: flex;
    align-items: center;
	font-weight: bold;
	&:before {
		content: "Q.";
		font-size: 48px;
		color: #E60012;
		font-family: 'Inter', sans-serif;
		margin-right: .1em;
		@media (max-width: 767px) {
			font-size: 22px;
		}
	}
}
.queAccordion_body {
	height: 0;
	font-size: 16px;
	text-align: left;
	overflow: hidden;
	transition: height 0.2s ease;
	@media (max-width: 767px) {
		font-size: 14px;
	}
	&.is-open {
		height: auto;
		border-top: dashed 3px #808080;
		padding: 15px 5px 30px;
		@media (max-width: 767px) {
			padding: 15px 0 20px;
		}
	}
	p {
		padding-left: 3.5em;
		padding-top: 1.5em;
		position: relative;
		@media (max-width: 767px) {
			padding-left: 2em;
			padding-top: .5em;
		}
		&:before {
		content: "A.";
			font-size: 48px;
			font-weight: bold;
			font-family: 'Inter', sans-serif;
			margin-right: .1em;
			position: absolute;
			left: 0;
			top: 0;
			@media (max-width: 767px) {
				font-size: 22px;
			}
		}
	}
}


/* -----------------------------------------
pagebottom
----------------------------------------- */
#pagebottom {
	.pagebottom_logo {
		width: 153px;
		margin: 0 auto;
	}
	.downloadBlock {
		ul.downloadBlock_pc {
			&:before {
				color: #E60012;
			}
		}
	}
}