@charset "UTF-8";

/* thanks
----------------------------------------*/
.ttl_page.thanks {
	line-height: 1.0789;
	padding: 20.2rem 0 0;
}
.contact_thanks {
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: .065em;
	margin: 4rem 0 0;
	padding-bottom: 12rem;
}
.contact_thanks::after {
	content: '';
	display: block;
	height: .1rem;
	max-width: 109.9rem;
	margin: 0 auto;
	background: #D5D1C3;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
.btn_back {
	display: block;
	max-width: 43.5rem;
	background: #D5D1C3;
	border: .1rem solid #5D7C6B;
	color: #5D7C6B;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: center;
	margin: 5.5rem auto 0;
	border-radius: .5rem;
	letter-spacing: .12em;
	padding: 2.45rem;
}
.btn_back::after {
	content: '';
	display: block;
	width: .4rem;
	height: .4rem;
	border-top: .1rem solid #5D7C6B;
	border-right: .1rem solid #5D7C6B;
	transform: rotate(-135deg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 2.3rem;
	margin: auto 0;
	transition: transform .3s;
}
@media (hover:hover) {
	.btn_back:hover::after {
		transform: translateX(-.5rem) rotate(-135deg);
	}
}
@media only screen and (max-width: 768px) {
	.ttl_page,
	.ttl_page.thanks {
		line-height: 1.1905;
		padding: 11.1rem 0 0;
	}
	.contact_thanks {
		max-width: 33rem;
		font-size: 1.3rem;
		margin: 2.5rem auto 0;
		line-height: 1.6923;
		padding-bottom: 8rem;
	}
	.contact_thanks p {
		width: 29rem;
		margin: 0 auto;
	}
	.contact_thanks::after {
		max-width: 33rem;
	}
	.btn_back {
		max-width: 33rem;
		font-size: 1.2rem;
		margin: 3.2rem auto 0;
		padding: 1.95rem;
	}
	.btn_back::after {
		left: 2rem;
	}
}


/* thanks
----------------------------------------*/
.contact {
	padding-bottom: 12rem;
}
.contact::after {
	content: '';
	display: block;
	height: .1rem;
	max-width: 109.9rem;
	margin: 0 auto;
	background: #D5D1C3;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
.contact .formlist {
	max-width: 80.2rem;
	margin: 4.8rem auto 0;
}
.contact .sendform{
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
	padding-bottom: 100px;
}
.contact .sendform .requied {
	margin-bottom: 10px;
	color: #bf0000;
}
.contact .formlist dt {
	border-top: .1rem dotted #D5D1C3;
	font-size: 1.3rem;
	letter-spacing: .065em;
	padding-top: 2.45rem;
}
.contact .formlist dt:first-child {
	padding-top: 1.4rem;
}
main .formlist dt::after{
	content: "＊";
	margin-left: 5px;
	color: #5D7C6B;
}
.contact .formlist dd {
	margin-top: .9rem;
	padding-bottom: 3rem;
}
.contact .formlist dd input[type="text"],
.contact .formlist dd input[type="email"],
.contact .formlist dd textarea,
.contact .formlist dd select {
	width: 100%;
	appearance: none;
	background: #fff;
	border: .1rem solid #5D7C6B;
	border-radius: .5rem;
	font-size: 1.4rem;
	letter-spacing: .065em;
	padding: 1.6rem;
}
.contact .formlist dd select {
	background: #fff url(../../img/common/icon_arrow_select.svg) no-repeat center right .9rem / .9rem auto;
}
.contact .formlist dd ::placeholder {
  color: #D5D1C3;
}
.contact .sendform .next {
	border-top: 1px solid  #ccc;
	padding-top: 50px;
}
.contact .formlist dt.counseling::after {
	display: none !important;
}
.counseling_num {
	width: 13rem;
	display: inline-block;
	color: #5D7C6B;
	font-size: 1.3rem;
	letter-spacing: .065em;
}
.counseling_num span {
	font-weight: 700;
	margin-right: .7rem;
}
.counseling_txt {
	margin: 0 .8rem 0 1.7rem;
}
.contact .formlist dt.counseling + dd p {
	font-size: inherit;
	margin-top: 1.5rem;
}
.contact .formlist dt.counseling + dd p .sp {
	display: none;
}
.contact .formlist dd select {
	width: 6rem;
}
.contact .formlist dd select[name^="year"] {
	width: 9rem;
}
.contact .formlist dd select[name^="time"] {
	width: 14rem;
}
.contact .next .send {
	max-width: 43.5rem;
	margin: 0 auto;
}
.contact .next .send::after {
	content: '';
	display: block;
	width: .4rem;
	height: .4rem;
	border-top: .1rem solid #fff;
	border-right: .1rem solid #fff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	bottom: 0;
	right: 2.3rem;
	margin: auto 0;
	transition: transform .3s;
	pointer-events: none;
}
.contact .next .send input {
	appearance: none;
	border: 0;
	display: block;
	width: 100%;
	background: #5D7C6B;
	color: #fff;
	font-size: 1.3rem;
	font-family: inherit;
	font-weight: 500;
	text-align: center;
	margin: 2.8rem auto 0;
	border-radius: .5rem;
	letter-spacing: .12em;
	line-height: inherit;
	padding: 2.55rem;
	cursor: pointer;
	transition: opacity .3s;
}
main .formlist dd.name {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}
main .formlist textarea {
	height: 27rem;
	resize: vertical;
}
@media (hover:hover) {
	.contact .next .send input:hover {
		opacity: .6;
	}
	.contact .next .send:hover::after {
		transform: translateX(.5rem) rotate(45deg);
	}
}
@media only screen and (max-width: 768px) {
	.contact {
		padding-bottom: 8rem;
	}
	.contact::after {
		max-width: 33rem;
	}
	.contact .formlist {
		max-width: 33rem;
		margin: 4rem auto 0;
	}
	.contact .formlist dt {
		padding-top: 1.6rem;
	}
	.contact .formlist dd input[type="text"],
	.contact .formlist dd input[type="email"],
	.contact .formlist dd textarea,
	.contact .formlist dd select {
		font-size: 16px;
		padding: 1rem 1.8rem;
	}
	.contact .formlist dd ::placeholder {
		font-size: 1.4rem;
	}
	.counseling_num {
		width: 100%;
		display: block;
		margin: 0 0 1rem;
	}
	.counseling_txt {
		margin: 0 .45rem;
		font-size: 1.3rem;
	}
	.counseling_num + .counseling_txt {
		margin-left: 0;
	}
	.counseling_txt:nth-last-child(2) {
		margin-left: 0;
		margin-top: 1rem;
	}
	.contact .formlist dd span:nth-last-child(1) {
		margin-top: 1rem;
		display: inline-block;
	}
	.contact .formlist dt.counseling + dd p + p {
		border-top: .1rem dotted #D5D1C3;
		margin-top: 3rem;
		padding-top: 1.6rem;
	}
	.contact .next .send {
		max-width: 33rem;
	}
	.contact .next .send input {
		font-size: 1.2rem;
		margin: .5rem auto 0;
		padding: 2.1rem;
	}
	main .formlist dd.name {
		grid-template-columns: repeat(1, 1fr);
		gap: .5rem;
	}
	main .formlist textarea {
		height: 18.2rem;
	}
}