@charset "utf-8";
header #header_menu {
	background-color: transparent;
}
header.active #header_menu {
	background-color: #fff;
}
section#home {
	padding: 0 0 3em 0;
}
#fv {
	height: calc(100svh - 80px);
	padding: 80px 1em 0;
	position: relative;
	width: calc(100% - 2em);
}
#fv h2 {
	margin-bottom: 1em;
}
#fv p {
	font-weight: 700;
	font-size: var(--f20);
}

@media (orientation: portrait) {
	#fv {
		background: url("../img/fv_sp.webp") no-repeat center bottom 3em / cover;
		text-align: center;
	}
	#fv ul {
		display: flex;
		position: absolute;
		left: 0;
		bottom:0;
		width: 100%;
	}
	#fv ul li {
		font-size: var(--f24);
		font-weight: 600;
	}
	#fv ul li.cta {
		width: 60%;
	}
	#fv ul li.works {
		width: 40%;
	}
	#fv ul li a {
		color: #fff;
		display: block;
		height: 3.6em;
		line-height: 3.6em;
		width: 100%;
	}
	#fv ul li.cta a {
		background: var(--main);
	}
	#fv ul li.works a {
		background: var(--sub);
	}
}
@media (orientation: landscape) {
	#fv {
		background: url("../img/fv_pc.webp") no-repeat right 50% bottom / cover;
	}
	#fv h2 {
		text-align: left;
		margin-left: 1em;
		padding-top: 3em;
	}
	#fv p {
		margin-left: 2em;
		margin-bottom: 3em !important;
	}
	#fv ul {
		margin-left: 2em;
		text-align: center;
	}
	#fv ul li {
		font-size: var(--f28);
		font-weight: 600;
		width: 18em;
	}
	#fv ul li a {
		display: block;
		width: 100%;
	}
	#fv ul li.cta a {
		background-color: var(--main);
		border-radius: 10px;
		box-shadow: 4px 4px 5px rgba(0,0,0,0.4);
		color: #fff;
		height: 3.6em;
		line-height: 3.6em;
		margin-bottom: 1em;
	}
	#fv ul li.works a {
		color: var(--sub);
	}
}

#about img {
	display: block;
	width: 100%;
	height: auto;
	margin: auto;
	max-width: 1200px;
}
#reason ul li {
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 4px 4px 5px rgba(0,0,0,0.4);
	padding: 1em;
	margin-bottom: 2em;
}
#reason ul li img {
	display: block;
	margin: 0 auto 1em;
	width: 30px;
	height: auto;
}
#reason ul li a {
	color: var(--main);
	display: block;
	font-weight: 700;
	text-align: right;
}
#works ul li {
	border: solid 1px #ccc;
	margin-bottom: 1em;
	width: calc(100% - 2px);
}
#works ul li img {
	display: block;
	width: 100%;
	height: auto;
}
#works a, #plan a {
	color: var(--main);
	display: block;
	font-size: var(--f24);
	font-weight: 700;
	text-align: center;
	transition: .3s;
}
#works a:hover, #plan a:hover {
	color: var(--sub);
}
#plan ul#price li {
	background-color: #fff;
	font-weight: 700;
	padding: 1em 1em 0;
	text-align: center;
}
#plan ul#price li .plan {
	background-color: var(--main);
	border-radius: 9999px;
	color: #fff;
	font-size: var(--f24);
	height: 1.5em;
	line-height: 1.5em;
	margin: auto;
	width: 10em;
}
#plan ul#price li .price {
	color: var(--main);
	font-size: var(--f36);
	margin-bottom: 0.3em;
}
#plan ul#price li .price span {
	font-size: 1.5em;
}
#plan ul#price li.month {
	margin-bottom: 2em;
}
#plan ul#price li.year {
	position: relative;
}
#plan ul#price li.year img {
	position: absolute;
	top: -1em;
	right: -0.5em;
	width: 80px;
	height: auto;
}
#plan p.note {
	font-size: var(--f16);
	margin-top: 1em;
	margin-bottom: 2em;
}
#plan p.note span {
	display: inline-block;
}
#plan .feature {
	background-color: #fff;
	margin-top: 2em;
	margin-bottom: 2em;
	padding-top: 1em;
	padding-bottom: 1em;
}
#plan .feature .title {
	color: #fff;
	font-size: var(--f24);
	font-weight: 700;
	line-height: 2em;
	margin: 0 1em 1em;
	text-align: center;
}
#plan .feature#basic .title {
	background-color: #6bc2fc;
}
#plan .feature#option .title {
	background-color: #6b7afc;
}
#plan .feature ul {
	display: flex;
	flex-wrap: wrap;
	column-gap: 1em;
	margin: 0 1em 1em;
}
#plan .feature ul li {
	display: flex;
	align-items: center;
}
#plan .feature#basic ul li:before {
	content: '';
	display: block;
	background: url("../img/icon/top_check.svg") no-repeat left center/ contain;
	margin-right: 0.3em;
	width: 1.2em;
	height: 1.2em;
}
#plan .feature#option ul li:before {
	content: '';
	display: block;
	background-color: #6b7afc;
	border-radius: 50%;
	margin-right: 0.3em;
	height: 0.5em;
	width: 0.5em;
}
#plan .feature#basic .txt {
	font-size: var(--f14);
	margin: 0 1em 1em;
}
#plan img.plus {
	display: block;
	margin: auto;
	width: 2em;
	height: auto;
}
#flow ol {
	margin: auto;
	padding: 0 1em;
	width: fit-content;
}
#flow ol li {
	margin-bottom: 2em;
	padding-left: 6em;
	width: calc(100% - 6em);
	position: relative;
}
#flow ol li:before {
	content: attr(data-number);
	display: block;
	background-color: var(--main);
	color: #fff;
	font-size: var(--f20);
	font-weight: 700;
	line-height: 1.8em;
	text-align: center;
	width: 5em;
	position: absolute;
	left: 0;
	top: 0;
}
#flow ol li h4 {
	margin-top: 0;
	margin-bottom: 0;
	text-align: left;
}
#flow ol li a {
	color: var(--main);
	font-weight: 700;
}
@media screen and (min-width: 768px) {
	#about p {
		text-align: center;
	}
	#about img {
		width: 80%;
	}
	#reason ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	#reason ul li {
		width: calc(50% - 3em);
	}
	#works ul {
		display: flex;
		justify-content: space-between;
		gap: 1em;
	}
	#plan ul#price {
		display: flex;
		justify-content: space-between;
	}
	#plan ul#price li {
		width: calc(50% - 4em);
	}
	#plan ul#price li.month {
		margin-bottom: 0;
	}
	#plan p.note {
		text-align: center;
		margin-top: 2em;
	}
	#plan .feature {
		display: flex;
		align-items: center;
	}
	#plan .feature .title {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		height: 6em;
		width: 30%;
		line-height: 1em;
		margin: 0 1em;
	}
	#plan .feature .title p {
		margin: 0;
	}
	#plan .feature .list {
		width: calc(70% - 2em);
	}
	#plan .feature ul {
		margin: 0 1em;
	}
	#plan .feature#basic .txt {
		margin: 1em 1em 0;
	}
}
@media screen and (min-width: 960px) {
	#fv {
		height: calc(100svh - 120px);
		padding: 120px 1em 0;
	}
	#fv h2 {
		letter-spacing: 0.1em;
	}
	#reason ul li {
		width: calc(25% - 3em);
	}
	#reason ul li img {
		width: 48px;
	}
	#works ul li {
		width: auto;
		max-width: 400px;
	}
	#works a, #plan a {
		padding-top: 1em;
		padding-bottom: 1em;
		margin-bottom: 1em;
	}
	#plan ul#price li.year img {
		width: 100px;
	}
	#flow ol li {
		margin-bottom: 3em;
		padding-left: 7em;
		width: calc(100% - 7em);
	}
}
@media screen and (min-width: 1280px) {
	#fv h2 {
		margin-left: 3em;
	}
	#fv p {
		margin-left: 5em;
	}
	#fv ul {
		margin-left: 5em;
	}
	#reason ul li img {
		width: 60px;
	}
	#plan ul#price li.year img {
		width: 120px;
	}
}