@charset "UTF-8";
@charset "UTF-8";

/* contact */
@media all {
	.is-red {color: var(--main-red);}
	.contact-header {text-align: center;}

	.contactFlow {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto;
		background-color: var(--bg-lightblue);
		border-radius: 5em;
	}
	.contactFlow_item {
		position: relative;
		padding: 0 .5em 0 1.5em;
		font-family: var(--lineseed);
		font-weight: bold;
		color: var(--txt-gray);
	}
	.contactFlow_item.is-active {color: var(--main-blue);}
	.contactFlow_item + .contactFlow_item::before {
		content: '';
		position: absolute;
		top: calc(50% - .3125em);
		left: 0;
		display: block;
		width: .625em;
		height: .625em;
		border-bottom: max(1px, 1rem) solid var(--main-blue);
		border-right: max(1px, 1rem) solid var(--main-blue);
		transform: rotate(-45deg);
	}


	/* sp */
	@media only screen and (max-width: 767px) {
		.contact-header {
			margin-top: 45rem;
			line-height: 32rem;
		}
		.contact-header p + p {margin-top: 16rem;}

		.contactFlow {
			margin-top: 60rem;
			width: 350rem;
			height: 42rem;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.contact-header {
			margin-top: 100rem;
			line-height: 40rem;
		}
		.contact-header p + p {margin-top: 20rem;}

		.contactFlow {
			margin-top: 60rem;
			width: 600rem;
			height: 48rem;
		}
	}
}

/* form */
@media all {
	.form_item :where(.is-required, .is-normal) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #fff;
		background-color: var(--main-red);
		border-radius: 2em;
	}
	.form_item .is-normal {
		background-color: #999;
	}
	.form_item dt {
		font-family: var(--lineseed);
		font-weight: bold;
		color: var(--main-blue);
	}
	.form_item :is(input, textarea) {
		box-sizing: border-box;
		padding: calc(1em - max(2px, 2rem));
		border: max(1px, 1rem) solid var(--table-lightblue);
	}
	.form_item :is(input, textarea)::placeholder {
		color: var(--txt-gray);
	}
	.form_item .is-side {
		display: flex;
		justify-content: space-between;
	}

	.form button:hover {cursor: pointer;}
	.form_error {
		margin-top: .5em;
		font-size: 13rem;
		color: var(--main-red);
	}
	.form_error::before {
		content: '！';
		display: inline-flex;
		align-items: center;
		justify-content: center;
		margin-right: 5rem;
		width: 15rem;
		height: 15rem;
		border-radius: 50%;
		background-color: var(--main-red);
		color: #fff;
		transform: translateY(1rem);
	}

	.button-gray {
		display: flex;
		align-items: center;
		justify-content: space-evenly;
		font-weight: bold;
		background-color: var(--txt-gray);
		color: #fff;
	}

	.form .button_area {
		display: flex;
		justify-content: space-between;
		margin: 0 auto;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.form {
			margin-top: 45rem;
			padding: 0 25rem;
		}
		.form_item + .form_item {margin-top: 25rem;}
		.form_item .is-confirm {
			display: inline-block;
			padding-left: 5rem;
			font-size: 12rem;
			font-weight: normal;
		}
		.form_item textarea {
			width: 100%;
			height: 168rem;
		}
		.form_item dd {margin-top: 10rem;}
		.form_item :where(.is-required, .is-normal) {
			margin-right: 6rem;
			width: 36rem;
			height: 18rem;
			font-size: 12rem;
			transform: translateY(-1rem);
		}
		.form_item :where(.is-medium, .is-small) {width: 165rem;}
		.form_item .is-large {width: 100%;}
		.form .button.rainbow,
		.form .button-gray {
			display: flex;
			justify-content: center;
			margin: 80rem auto 0;
			width: 250rem;
			height: 60rem;
			font-size: 20rem;
		}

		.form .button_area {margin-top: 60rem;}
		.form .button.send-button,
		.form .button-gray {
			margin: 0;
			width: 170rem;
		}

		.site-footer {margin-top: 140rem;}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.form {
			margin: 80rem auto 0;
			width: 800rem;
		}
		.form_item + .form_item {margin-top: 40rem;}
		.form_item dl {
			display: flex;
		}
		.form_item dt {
			flex-shrink: 0;
			padding-top: 1em;
			width: 240rem;
		}
		.form_item .is-confirm {
			display: block;
			margin-top: 4rem;
			padding-left: 50rem;
			font-size: 13rem;
			font-weight: normal;
		}

		.form_item .is-side {width: 420rem;}

		.form_item textarea {
			width: 560rem;
			height: 150rem;
		}
		.form_item :where(.is-required, .is-normal) {
			margin-right: 8rem;
			width: 44rem;
			height: 22rem;
			font-size: 14rem;
		}
		.form_item :where(.is-medium, .is-small) {width: 200rem;}
		.form_item .is-large {width: 420rem;}

		.form .button.rainbow,
		.form .button-gray {
			display: flex;
			justify-content: center;
			margin: 80rem auto 0;
			width: 400rem;
			height: 80rem;
			font-size: 22rem;
		}

		.form .button_area {
			margin-top: 80rem;
			width: 600rem;
		}
		.form .button.send-button,
		.form .button-gray {
			margin: 0;
			width: 270rem;
		}
		.form .button-gray {transition: opacity .3s;}
		.form .button-gray:hover {opacity: .7;}

		.site-footer {margin-top: 160rem;}
	}
}

/* confirm */
@media all {
	.confirm .form_item {
		border-bottom: max(1px, 1rem) solid var(--table-lightblue);
	}
	.confirm .form_item + .form_item {margin-top: 0;}
	.button.sending{
		filter: opacity(50%);
		pointer-events: none;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.confirm .form_item {
			margin-bottom: 15rem;
			padding-bottom: 15rem;
		}
		.confirm .form_item :is(dt, dd) {
			padding: 0;
			line-height: 2;
		}
		.confirm .form_item dd {
			padding: 0 1em;
			word-break: break-all;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.confirm .form_item {
			margin-bottom: 28rem;
			padding-bottom: 28rem;
		}
		.confirm .form_item :is(dt, dd) {
			padding: 0;
			line-height: 2;
		}
	}
}

/* complete */
@media all {
	.complete h2.section_title {
		font-weight: bold;
		color: var(--main-blue);
		text-align: center;
		font-family: var(--lineseed);
	}
	.complete-text {text-align: center;}
	.return-toppage {text-align: center;}
	.button.return-btn {
		justify-content: center;
		background-color: var(--main-blue);
		color: #fff;
	}

	/* sp */
	@media only screen and (max-width: 767px) {
		.complete h2.section_title {
			margin-top: 60rem;
			font-size: 22rem;
		}
		.complete-text {
			margin-top: 40rem;
			padding: 0 25rem;
			line-height: 32rem;
		}
		.return-toppage {margin-top: 70rem;}
		.button.return-btn {
			width: 170rem;
			height: 60rem;
			font-size: 20rem;
		}
	}

	/* pc & tab */
	@media print,
	(min-width: 768px) {
		.complete h2.section_title {
			margin-top: 70rem;
			font-size: 28rem;
		}
		.complete-text {
			margin-top: 60rem;
			line-height: 40rem;
		}
		.return-toppage {margin-top: 120rem;}
		.button.return-btn {
			width: 270rem;
			height: 80rem;
			font-size: 22rem;
			transition: opacity .3s;
		}
		.button.return-btn:hover {opacity: .7;}
	}
}




/* template-section */
@media all {

	/* sp */
	@media only screen and (max-width: 767px) {}

	/* pc & tab */
	@media print,
	(min-width: 768px) {}
}
