.form-wrap .ttl {
	margin: 80px auto 70px;
	text-align: center
}
@media(max-width: 749px) {
	.form-wrap .ttl {
		margin: 80px auto 40px;
		font-size: 24px
	}
}
.form-wrap .form-area {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between
}
@media(max-width: 749px) {
	.form-wrap .form-area {
		display: block
	}
}
.form-wrap .form-area .main {
	width: 748px;
	margin-right: 5%
}
@media(max-width: 749px) {
	.form-wrap .form-area .main {
		min-width: 100%;
		width: 100%;
		margin-right: 0
	}
}
.form-wrap .form-area-fv {
	margin-bottom: 15px
}
.form-wrap .form-area-txt {
	border: 4px solid #f8f8f8;
	border-radius: 10px;
	padding: 24px 40px
}
@media(max-width: 749px) {
	.form-wrap .form-area-txt {
		margin-bottom: 40px;
		padding: 20px
	}
}
.form-wrap .form-area-txt p {
	font-size: 14px;
	line-height: 2
}
@media(max-width: 749px) {
	.form-wrap .form-area-txt p {
		font-size: 12px
	}
}
.form-wrap .form-area-txt h2 {
	margin-bottom: 10px;
	font-size: 16px;
	color: #007bc3
}
@media(max-width: 749px) {
	.form-wrap .form-area-txt h2 {
		font-size: 14px
	}
}
.form-wrap .form-area-txt ul li {
	font-size: 14px
}
@media(max-width: 749px) {
	.form-wrap .form-area-txt ul li {
		font-size: 12px
	}
}
.form-wrap .form-area .side {
	width: 360px
}
@media(max-width: 749px) {
	.form-wrap .form-area .side {
		min-width: 100%;
		width: 100%
	}
}
.form-wrap .form-area .side .txt {
	font-size: 14px;
	font-weight: 500
}
.form-wrap .form-event {
	margin-bottom: 130px
}
@media(max-width: 749px) {
	.form-wrap .form-event {
		margin-bottom: 80px
	}
}
.form-wrap .form-dl {
	margin-bottom: 120px
}
@media(max-width: 749px) {
	.form-wrap .form-dl {
		margin-bottom: 80px
	}
}
.form-wrap .form-dl-mail {
	margin-bottom: 80px
}
@media(max-width: 749px) {
	.form-wrap .form-dl-mail {
		margin-bottom: 40px
	}
}
.form-wrap .form-demo {
	margin-bottom: 100px
}
@media(max-width: 749px) {
	.form-wrap .form-demo {
		margin-bottom: 40px
	}
}
.form-wrap .form-contact {
	margin-bottom: 160px
}
@media(max-width: 749px) {
	.form-wrap .form-contact {
		margin-bottom: 80px
	}
}
.form-wrap .form-quote {
	margin-bottom: 120px
}
@media(max-width: 749px) {
	.form-wrap .form-quote {
		margin-bottom: 80px
	}
}
form {
	margin-top: 30px
}
form .column {
	display: -webkit-box;
	display: flex;
	-webkit-box-pack: justify;
	justify-content: space-between
}
form .column div {
	width: -webkit-calc((100% / 2) - 5px);
	width: calc(50% - 5px)
}
form .item {
	margin-bottom: 10px
}
form .item label {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	letter-spacing: 0
}
form .item label span {
	display: inline-block;
	width: 30px;
	height: 18px;
	margin-right: 5px;
	line-height: 18px;
	color: #fff;
	font-size: 10px;
	border-radius: 3px;
	text-align: center
}
form .item label span.required {
	background: #ed5d5d
}
form .item label span.any {
	background: #999
}
form .item input[type=text], form .item input[type=email], form .item input[type=tel], form .item input[type=number], form .item select {
	width: 100%;
	height: 40px;
	border: 1px solid #dcdcdc;
	border-radius: 2px;
	padding-left: 15px;
	background: #fff;
	font-size: 14px
}
form .item input[type=text]:focus-visible, form .item input[type=text]:focus, form .item input[type=email]:focus-visible, form .item input[type=email]:focus, form .item input[type=tel]:focus-visible, form .item input[type=tel]:focus, form .item input[type=number]:focus-visible, form .item input[type=number]:focus, form .item select:focus-visible, form .item select:focus {
	outline: none
}
form .item select {
	appearance: none;
	cursor: pointer;
	color: #333;
}
form .item .radio {
	display: table
}
form .item .radio input[type=radio], form .item .radio label {
	display: table-cell;
	margin: 0;
	cursor: pointer
}
form .item .radio input[type=radio] {
	margin-right: 8px
}
form .item .check-item {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between
}
form .item .check-item label {
	width: -webkit-calc((100% / 2) - 10px);
	width: calc(50% - 10px);
	margin-bottom: 8px
}
form .item input[type=checkbox] {
	display: none
}
form .item input[type=checkbox]+label {
	position: relative;
	cursor: pointer;
	padding-left: 25px
}
form .item input[type=checkbox]+label::before {
	content: "";
	width: 16px;
	height: 16px;
	display: block;
	margin-top: -8px;
	position: absolute;
	left: 0;
	top: 50%;
	border: 1px solid #dcdcdc;
	background-color: #f8f8f8;
	border-radius: 2px
}
form .item input[type=checkbox]:checked+label::after {
	content: "";
	width: 16px;
	height: 16px;
	display: block;
	margin-top: -8px;
	position: absolute;
	top: 50%;
	left: 0px;
	background: url("../../images/check-mark.svg") no-repeat #e7f1fd center;
	background-size: 10px 8px;
	border: 1px solid #007bc3;
	border-radius: 2px
}
form .item .item-employee {
	display: -webkit-box;
	display: flex;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	justify-content: space-between
}
form .item .item-employee .radio {
	display: -webkit-box;
	display: flex;
	width: -webkit-calc((100% / 2) - 10px);
	width: calc(50% - 10px);
	margin-bottom: 8px
}
form .select-box {
	position: relative
}
form .select-box::before {
	content: "";
	width: 10px;
	height: 5px;
	margin-top: 8px;
	background: url("../../images/arrow-down-red.svg") no-repeat;
	background-size: 100%;
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: 9px;
	pointer-events: none
}
form select:invalid {
	color: #dcdcdc
}
form textarea {
	width: 100%;
	height: 185px;
	border: 1px solid #dcdcdc;
	border-radius: 2px;
	resize: none;
	padding: 5px
}
form textarea:focus-visible, form textarea:focus {
	outline: none
}
form .privacy {
	margin-bottom: 10px
}
form .privacy p {
	font-size: 12px
}
form .privacy p a {
	display: inline;
	color: #007bc3;
	text-decoration: underline
}
form button {
	width: 100%;
	height: 64px;
	display: block;
	line-height: 64px;
	text-align: center;
	border-radius: 10px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	background: #666;
	border: none;
	letter-spacing: 1.7px;
	margin-top: 25px;
	font-family: "Montserrat", "Noto Sans JP", sans-serif
}
@media(max-width: 749px) {
	form button {
		width: 272px;
		height: 48px;
		margin: 40px auto 0;
		line-height: 48px;
		font-size: 16px;
		border-radius: 5px
	}
}
form button.active {
	background: #ed5d5d;
	transition: all .25s
}
form button.active:hover {
	cursor: pointer;
	opacity: .9
}
form .note {
	color: #ed5d5d;
	font-size: 12px;
	font-weight: 700
}
@media(max-width: 749px) {
	form .note {
		text-align: center
	}
}
form .mail-note {
	margin-top: 15px;
	font-size: 11px;
	text-align: center
}
form .mail-note a {
	display: inline-block;
	color: #007bc3
}
.thanks-page {
	margin: 90px auto 150px
}
@media(max-width: 749px) {
	.thanks-page {
		margin: 80px auto
	}
}
.thanks-page h1 {
	margin-bottom: 25px;
	font-size: 28px;
	text-align: center
}
@media(max-width: 749px) {
	.thanks-page h1 {
		font-size: 20px
	}
}
.thanks-page .thanks-txt {
	margin-bottom: 50px
}
@media(max-width: 749px) {
	.thanks-page .thanks-txt {
		margin-bottom: 40px
	}
}
.thanks-page .thanks-txt h2 {
	font-size: 20px;
	color: #007bc3;
	text-align: center;
	margin: 40px 0 80px
}
@media(max-width: 749px) {
	.thanks-page .thanks-txt h2 {
		font-size: 16px;
		margin: 40px 0 0
	}
}
.thanks-page .thanks-txt p {
	text-align: center;
	line-height: 2
}
@media(max-width: 749px) {
	.thanks-page .thanks-txt p {
		font-size: 12px
	}
}
.thanks-page .thanks-txt p a {
	display: inline;
	color: #007bc3;
	text-decoration: underline
}
.thanks-page .page-return a {
	font-size: 14px;
	color: #666;
	font-weight: 700;
	text-align: center
}
@media(max-width: 749px) {
	.thanks-page .page-return a {
		font-size: 12px
	}
}
.thanks-page .page-return a span {
	color: #ed5d5d;
	margin-right: 5px
}
.form-dl {
	margin-top: 40px
}
@media(max-width: 749px) {
	.form-dl {
		margin-top: 20px
	}
}
.form-dl .form-area-fv {
	padding: 0 40px 70px;
	background: #f8f8f8;
	border-radius: 10px
}
@media(max-width: 749px) {
	.form-dl .form-area-fv {
		padding: 0 30px 40px
	}
}
.form-dl .form-area-fv h1 {
	padding-top: 25px;
	font-size: 24px
}
@media(max-width: 749px) {
	.form-dl .form-area-fv h1 {
		padding-top: 30px;
		font-size: 16px;
		text-align: center
	}
}
.form-dl .form-area-fv img {
	width: 80%;
	margin: 80px auto 0
}
@media(max-width: 749px) {
	.form-dl .form-area-fv img {
		width: 100%;
		margin: 15px auto 0
	}
}
.dl-modal {
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	z-index: 999
}
.dl-modal-bg {
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, .5);
	position: absolute
}
.dl-modal-content {
	width: 640px;
	height: 340px;
	background: #fff;
	border-radius: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 60px 0
}
@media(max-width: 749px) {
	.dl-modal-content {
		width: 80%;
		height: 290px;
		padding: 40px 0 0;
		top: 25%
	}
}
.dl-modal-content p {
	font-size: 18px;
	text-align: center
}
@media(max-width: 749px) {
	.dl-modal-content p {
		font-size: 14px
	}
}
.dl-modal-content img {
	width: 88px;
	margin: 30px auto 0
}
@media(max-width: 749px) {
	.dl-modal-content img {
		width: 95px;
		margin: 25px auto 0
	}
}
.loading-modal {
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	z-index: 999
}
.loading-modal-bg {
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, .5);
	position: absolute
}
.loading-modal-content {
	width: 400px;
	height: 240px;
	background: #fff;
	border-radius: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}
@media(max-width: 749px) {
	.loading-modal-content {
		width: 80%;
		height: 210px;
		padding: 20px 0 0;
		top: 25%
	}
}
.loading-modal-content p {
	font-size: 18px;
	text-align: center
}
@media(max-width: 749px) {
	.loading-modal-content p {
		font-size: 14px
	}
}
.loading-modal-content img {
	width: 250px;
	margin: 0 auto
}
@media(max-width: 749px) {
	.loading-modal-content img {
		width: 190px
	}
}
.form-contact .form-area-fv {
	height: 540px;
	background: #f8f8f8;
	border-radius: 10px;
	position: relative
}
@media(max-width: 749px) {
	.form-contact .form-area-fv {
		height: 340px
	}
}
.form-contact .form-area-fv img {
	width: 300px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%)
}

@media(max-width: 749px) {
	.form-contact .form-area-fv img {
		width: 250px
	}
}
.form-quote .form-area-fv {
	height: 540px;
	background: #f8f8f8;
	border-radius: 10px;
	text-align: center;
	padding: 40px 0
}
.form-quote .form-area-fv-plans {
	height: 540px;
	background: #f8f8f8;
	border-radius: 10px;
	text-align: center;
	padding: 60px 0
}
@media(max-width: 749px) {
	.form-quote .form-area-fv-plans {
		height: auto;
		margin-bottom: 40px;
		padding: 40px 20px;
	}
}
@media(max-width: 749px) {
	.form-quote .form-area-fv {
		height: auto
	}
}
.form-quote .form-area-fv p {
	font-weight: 700;
	font-size: 28px;
	margin-bottom: 10px
}
.form-quote .form-area-fv-plans p {
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 30px
}
@media(max-width: 749px) {
	.form-quote .form-area-fv p,
	.form-quote .form-area-fv-plans p {
		font-size: 16px
	}
}
.form-quote .form-area-fv h2 {
	margin-bottom: 35px
}
.form-quote .form-area-fv-plans h2 {
	margin-bottom: 12px;
  font-weight: 900;
}
@media(max-width: 749px) {
	.form-quote .form-area-fv h2 {
		margin-bottom: 20px;
		font-size: 20px
	}
}
.form-quote .form-area-fv img , .form-quote .form-area-fv-plans img {
	width: 545px;
	margin: 0 auto
}
@media(max-width: 749px) {
	.form-quote .form-area-fv img , .form-quote .form-area-fv-plans img {
		width: 90%
	}
}
.form-quote .enterprise-plan h2 {
	color: #007bc3
}
.form-quote .entry-plan h2 {
	color: #22aee5
}
.form-quote .advance-plan h2 {
	color: #3dbdbd
}

@media(max-width: 749px) {
	.form-quote .enterprise-plan h2,
	.form-quote .entry-plan h2, 
	.form-quote .advance-plan h2 {
		font-size: 20px;
	}
}

.privacy-document {
	width: 100%;
	height: 120px;
	margin-bottom: 8px;
	border: 1px solid #dcdcdc;
	border-radius: 2px;
	padding: 8px;
	overflow-y: scroll;
}

.privacy-document dl {
	margin-bottom: 20px;
}

.privacy-document dt {
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 700;
}

.privacy-document dd {
	margin-bottom: 5px;
}

.privacy-document li {
	display: flex;
}

.privacy-document li::before {
	content: "・";
	display: inline-block;
}

.privacy-document p,
.privacy-document dd,
.privacy-document li {
	font-size: 12px;
}

.privacy-document dd a {
	display: inline-block;
	text-decoration: underline;
}

.privacy-block label {
	font-weight: 700;
}

form .item.privacy-block input[type=checkbox]+label::before {
	margin-top: 3px;
	top: 0;
}

form .item.privacy-block input[type=checkbox]:checked+label::after {
	margin-top: 3px;
	top: 0;
}