	/* contact_form start */
	.contact_form {
		width: 100%;
		max-width: 996px;
		margin: 20px auto 50px;
	}

	.contact_form h2 {
		background-color: #00afec;
		font-size: 24px;
		color: #fff;
		padding: 20px;
		margin-bottom: 20px;
	}

	.contact_form form {
		width: 100%;
		background-color: #eee;
		padding: 20px 20px 40px;
		box-sizing: border-box;
		border-radius: 10px;
	}

	.contact_form form h3 {
		padding: 10px 0;
		font-size: 18px;
	}
	.contact_form__line {
		margin-bottom: 10px;
	}
	.contact_form__line input[type='text'] {
		font-size: 16px;
		padding: 10px 5px;
		border: 1px solid #ddd;
		border-radius: 5px;
		width: 100%;
		box-sizing: border-box;
	}
	.contact_form__line input[type='text'].thin {
		width: 30%;
	}
	.contact_form__checks {
		display: grid;
		grid-template-columns: repeat(4,20%);
		font-size: 18px;
		margin: 0 0 20px;
	}
	.contact_form__line textarea {
		resize: none;
		width: 100%;
		box-sizing: border-box;
		padding: 10px 5px;
		font-size: 16px;
		border: 1px solid #ddd;
		border-radius: 5px;
		height: 10em;
	}
	.contact_form__select select{
		width: 100%;
		border: 1px solid #dedddd;
		border-radius: 8px;
		padding: 10px 15px;
		box-sizing: border-box;
		font-size: 16px;
	}
	.contact_form__check {
		text-align: center;
		font-size: 18px;
		margin: 20px 0 50px;
	}
	.contact_form__btn {
		text-align: center;
	}
	.contact_form__btn input[type='submit'] {
		width: 40%;
		padding: 8px 0;
		background: #FF6600;
		border: none;
		border-radius: 8px;
		box-shadow: 1px 2px 4px #000000aa;
		color: #fff;
		text-align: center;
		font-size: 18px;
		font-weight: bold;
		text-decoration: none;
		cursor: pointer;
	}
	/* contact_form end */


	/* contact_finish start */
	.contact_finish {
		width: 100%;
		max-width: 996px;
		margin: 20px auto 50px;
	}

	.contact_finish h2 {
		background-color: #00afec;
		font-size: 24px;
		color: #fff;
		padding: 20px;
		margin-bottom: 20px;
	}

	.contact_finish p {
		line-height: 1.7em;
	}
	.contact_finish a {
		text-decoration: none;
	}
	/* contact_finish end */


	@media screen and (max-width: 593px) {
		/* contact_form start */
		.contact_form{	
			padding: 0 2%;
		}
		.contact_form__checks {
			grid-template-columns: repeat(2,46%);
			font-size: 4.0vw;
		}
		/* contact_form end */

		/* contact_finish start */
		.contact_finish h2 {
			font-size: 5.0vw;
		}
		.contact_finish{
			padding: 0 2%;
		}

		/* contact_finish end */
	}


	/* form style start */
	.contact__title {
		text-align: center;
		color: #333;
		font-size: 48px;
		margin: 30px auto 10px;
	}
	.contact__text {
		color: #333;
		text-align: center;
		font-size: 16px;
	}
	.contact__process {
		width: 500px;
		margin: 30px auto;
		display: flex;
		justify-content: space-between;
		position: relative;
	}
		.contact__process__mark {
			font-size: 18px;
			color: #999;
			width: 14%;
			background-color: #dbe7fa;
			border-radius: 8px;
			line-height: 24px;
			text-align: center;
			padding: 12px 0 6px;
			position: relative;
		}
			.contact__process__mark span {
				font-size: 28px;
			}
		.contact__process__mark::before {
			content: "";
			position: absolute;
			border-top: 10px solid #dbe7fa;
			border-left: 10px solid transparent;
			border-right: 10px solid transparent;
			bottom: -10px;
			left: 25px;
		}
		.contact__process__mark.current {
			background-color: #28a7e1;
			color: #fff;
		}
		.current.contact__process__mark::before {
			border-top: 10px solid #28a7e1;
		}
		#step03 {
			padding-top: 24px;
		}
		.contact__process__circle {
			position: absolute;
			width: 30px;
			height: 30px;
			border-radius: 50%;
			background-color: #dbe7fa;
			top: 90px;
			z-index: 100;
		}
		#circle01 {
			left: 20px;
		}
		#circle02 {
			left: 235px;
		}
		#circle03 {
			left: 450px;
		}

		.contact__process__line {
			position: absolute;
			z-index: 10;
			height: 4px;
			width: 210px;
			background-color: #dbe7fa;
			top: 105px;
		}
		.contact__process__circle.current, .contact__process__line.current {
			background-color: #28a7e1;
		}
		#line01 {
			left: 25px;
		}
		#line02 {
			left: 240px;
		}
	.contact form {
		width: 860px;
		margin: 100px auto;
	}
	.form_box {
		display: none;
	}
	.form_box.current {
		display: block;
	}
		.form__line {
			display: flex;
			justify-content: space-between;
			align-items: center;
			margin: 30px 0;
		}
			.form__line__left {
				font-size: 18px;
				width: 22%;
				font-weight: bold;
				color: #333;
			}
				.form__line__left span {
					color: #fe0000;
					font-size: 16px;
				}
				.form__line__left p {
					font-size: 14px;
					font-weight: normal;
					margin: 0;
				}
			.form__line__right {
				width: 78%;
			}
				.form__line__right input[type="text"], .form__line__right select, .form__line__right input[type="date"], textarea {
					width: 100%;
					border: 2px solid #e7e6e6;
					border-radius: 6px;
					padding: 10px 15px;
					box-sizing: border-box;
					outline: none;
				}
				.form__line__right input[type='text'].short {
					width: 49.5%;
				}
				.form__line__right input[type="text"]:focus, .form__line__right select:focus, .form__line__right input[type="date"]:focus, .form__line__right textarea:focus {
					border: 2px solid #28a7e1;
				}
				.form__line__right textarea {
					resize: none;
					height: 120px;
				}
				.form__line__right input::placeholder {
					color: #999;
				}
				.form__line__right input[type='checkbox'] + label {
					margin-right: 15px;
				}
		.form__submit {
			margin-top: 35px;
		}
		.form__submit__text {
					font-size: 14px;
			text-align: center;
		}
		.form__submit__text a {
			color: #0066ff;
			text-decoration: underline;
			
		}
		.form__submit__button {
			margin: 30px auto;
			display: block;
			text-align: center;
		}
		.form__submit__button img{
			width: 300px;
		}
		.form__submit__button:hover {
			opacity: 0.8;
		}

	.contact__end {
		width: 540px;
		margin: 100px auto;
		color: #333;
	}
		.contact__end__title {
			text-align: center;
			font-size: 34px;
			margin-bottom: 20px;
		}
		.contact__end__text {
			font-size: 16px;
		}
	@media screen and (max-width: 593px) {
		.contact__title {
			font-size: 8vw;
			margin: 10vw auto 2vw;
		}
		.contact__text {
			font-size: 4vw;
		}
		.contact__process {
			width: 90%;
			margin: 6vw auto;
		}
			.contact__process__mark {
				font-size: 4.2vw;
				width: 18%;
				line-height: 5.5vw;
				padding: 4vw 0 3vw;
			}
				.contact__process__mark span {
					font-size: 6vw;
				}
			.contact__process__mark::before {
				bottom: -10px;
				left: calc(50% - 10px);
			}
			#step03 {
				padding-top: 7vw;
			}
			.contact__process__circle {
				top: 25vw;
			}
			#circle01 {
				left: 4vw;
			}
			#circle02 {
				left: 41vw;
			}
			#circle03 {
				left: 78vw;
			}
		
			.contact__process__line {
				width: 37vw;
				top: calc(25vw + 15px);
			}
			#line01 {
				left: 5vw;
			}
			#line02 {
				left: 42vw;
			}
		.contact form {
			width: 90%;
			margin: 25vw auto 15vw;
		}
			.form__line {
				flex-wrap: wrap;
				margin: 8vw 0;
			}
				.form__line__left {
					font-size: 4.5vw;
					width: 100%;
					margin-bottom: 3vw;
				}
					.form__line__left span {
						font-size: 4vw;
					}
					.form__line__left p {
						font-size: 3.6vw;
					}
				.form__line__right {
					width: 100%;
				}
					.form__line__right input[type="text"], .form__line__right select, .form__line__right input[type="date"], textarea {
						padding: 3vw 2vw;
					}
					.form__line__right input[type='text'].short {
						width: 49%;
					}
					.form__line__right textarea {
						height: 30vw;
					}
					.form__line__right input[type='checkbox'] + label {
						margin-right: 3vw;
					}
			.form__submit {
				margin-top: 8vw;
			}
			.form__submit__text {
				font-size: 4vw;
			}
			.form__submit__button {
				width: 80%;
				margin: 12vw auto;
				font-size: 6vw;
				padding: 3vw 0;
			}

			.form__submit__button img{
				width: 100%;
			}

		.contact__end {
			width: 90%;
			margin: 25vw auto 15vw;
		}
			.contact__end__title {
				font-size: 6vw;
				margin-bottom: 5vw;
			}
			.contact__end__text {
				font-size: 4vw;
			}
	}