@charset "UTF-8"; 

main input, 
select, 
textarea {
	appearance: none; 
	background-color: #FFF; 
	box-shadow: none; 
	border-radius: 0; 
}

/* #kv ------------------------------------------------------------------------------------------*/

main #kv {
	height: 890px; 
	background-image: url(/assets/img/contact/hero_pc.jpg); 
}

main #kv .kv_wrap {
	height: 890px; 
	padding-bottom: 448px; 
}

main.sub_page #kv h1 {
	color: #FFF; 
}

main.sub_page #kv h2 {
	color: #FFF; 
}

.contact_wrap {
	background-image: url(/assets/img/contact/contact_bg_pc.jpg); 
	background-size: cover; 
	padding-bottom: 100px; 
}

.contact_wrap .cont_head {
	font-size: 95px; 
	text-align: center; 
	padding-top: 104px; 
}

.contact_wrap .cont_sub {
	font-size: 22px; 
	text-align: center; 
	margin-bottom: 130px; 
}

.contact_wrap .formGroup {
	width: 1030px; 
	margin: 0 auto; 
}

.contact_wrap .formGroup .form_caution {
	font-size: 16px; 
	color: red; 
	margin-bottom: 60px; 
}

.contact_wrap .formGroup .formWrap {
	display: flex; 
	justify-content: space-between; 
	align-items: center; 
	padding-bottom: 46px; 
	margin-bottom: 36px; 
	border-bottom: 1px solid #D9D9D9; 
}

.contact_wrap .formGroup .formWrap.item_top {
	align-items: flex-start; 
}

.contact_wrap .formGroup .formWrap .ttl_wrap {
	width: 350px; 
}

.contact_wrap .formGroup .formWrap .ttl {
	font-size: 22px; 
	text-align: center; 
}

.contact_wrap .formGroup .formWrap .ttl sup {
	font-size: 16px; 
}

.contact_wrap .formGroup .formWrap .formInput {
	width: 620px; 
}

.contact_wrap .formGroup .formWrap .formInput .row {
	display: flex; 
	align-items: flex-start; 
	gap: 8px; 
}

.contact_wrap .formGroup .formWrap .formInput select {
	border: none; 
	width: 100%; 
	padding: 20px 28px; 
	color: #525252; 
	appearance: none; 
	-webkit-appearance: none; 
	-moz-appearance: none; 
	background-image: url(/assets/img/contact/select_icon.svg); 
	background-repeat: no-repeat; 
	background-position: right 2em center; 
	font-family: "Shippori Mincho", serif; 
	border-radius: 0; 
}

.contact_wrap .formGroup .formWrap .formInput select option {
	color: #525252; 
}

.contact_wrap .formGroup .formWrap .formInput select:invalid {
	color: #ACACAC; 
}

.contact_wrap .formGroup .formWrap .caution {
	text-align: center; 
	font-size: 17px; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box {
	width: 100%; 
	display: flex; 
	flex-wrap: wrap; 
	word-break: break-all; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box label {
	font-size: 20px; 
	width: 50%; 
	display: flex; 
	align-items: center; 
	margin-bottom: 20px; 
	cursor: pointer; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box input[type="checkbox"] {
	appearance: none; 
	width: 33px; 
	height: 33px; 
	background-color: #FFF; 
	margin-right: 20px; 
	outline: none; 
	cursor: pointer; 
	flex-shrink: 0; 
	flex-grow: 0; 
	padding: 0; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box input[type="checkbox"]:checked:before {
	content: ""; 
	display: block; 
	position: absolute; 
	width: 12px; 
	height: 18px; 
	border-right: 1px solid #525252; 
	border-bottom: 1px solid #525252; 
	transform: rotate(50deg); 
	left: 26%; 
	top: 10%; 
}

.contact_wrap .formGroup .formWrap.privacy_confirm .formInput .input-box label, 
.contact_wrap .formGroup .formWrap.privacy_confirm .formInput .input-box input[type="checkbox"] {
	pointer-events: none; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box input::placeholder {
	color: #ACACAC; 
	font-family: "Shippori Mincho", serif; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box input {
	width: 100%; 
	border: none; 
	padding: 20px 28px; 
	font-family: "Shippori Mincho", serif; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box.col {
	display: flex; 
	justify-content: space-between; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box.col input, 
.contact_wrap .formGroup .formWrap .formInput .input-box.col select {
	border: none; 
	width: 49%; 
	padding: 20px 28px; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box input[type="date"] {
	color: #525252; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box input[type="date"]:invalid {
	color: #ACACAC; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box.col select::placeholder {
	color: #ACACAC; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box.col select:invalid {
	color: #ACACAC; 
}

.contact_wrap .formGroup .formWrap .formInput textarea {
	width: 100%; 
	border: none; 
	height: 200px; 
	padding: 1em; 
	font-family: "Shippori Mincho", serif; 
}

.contact_wrap .formGroup .formWrap .formInput .privacy_wrap {
	display: flex; 
	flex-direction: column; 
	width: 100%; 
	white-space: nowrap; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap {
	padding-top: 60px; 
}

.contact_wrap .formGroup .formWrap.noborder {
	border-bottom: none; 
	padding-bottom: 100px; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap label {
	font-size: 22px; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap .privacy_caution {
	font-size: 17px; 
	padding-left: 53px; 
	white-space: wrap; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap .privacy_caution a {
	border-bottom: 1px solid currentColor; 
}

.contact_wrap .formGroup .formWrap .formInput .input-box .error_text, 
.contact_wrap .formGroup .formWrap .formInput .pd-err {
	color: #CC0000; 
	font-size: 14px; 
	margin-top: 8px; 
}

.contact_wrap .formGroup #submit_button input[type="submit"] {
	font-family: "Shippori Mincho", serif; 
	font-size: 17px; 
	color: #FFF; 
	border: none; 
	outline: none; 
	background-color: #938994; 
	padding: 1em 1.5em; 
	cursor: pointer; 
	margin: 0 auto; 
	display: block; 
}

#confirm .contact_wrap .formGroup .formWrap .formInput {
	width: 600px; 
	font-size: 22px; 
}

#confirm .contact_wrap .formGroup .contact-content-wrap .formInput .contact-content-box {
	white-space: normal !important; 
	word-wrap: break-word !important; 
}

#confirm .contact_wrap .formGroup .contact-content-wrap .formInput .contact-content-box br {
	display: block !important; 
	content: "" !important; 
	margin-top: 0.5em !important; 
}

#confirm .contact_wrap .formGroup #submit_button {
	display: flex; 
	justify-content: center; 
	gap: 0 90px; 
}

#confirm .contact_wrap .formGroup #submit_button input[type="submit"] {
	margin: 0; 
}

#confirm .contact_wrap .formGroup #submit_button input[type="button"], 
#confirm .contact_wrap .formGroup #submit_button input[type="submit"] {
	font-family: "Shippori Mincho", serif; 
	font-size: 17px; 
	color: #FFF; 
	border: none; 
	outline: none; 
	background-color: #938994; 
	padding: 1em 2.5em; 
	cursor: pointer; 
	margin: 0; 
	display: block; 
}

#thanks .contact_wrap .cont_sub {
	margin-top: 100px; 
}

#thanks .contact_wrap .thanks_text {
	width: 785px; 
	margin: 0 auto; 
	font-size: 20px; 
	line-height: 202%; 
}

/* Liquid ------------------------------------------------------------------------------------------*/

@media (max-width: 1440px) {

	/* #kv ------------------------------------------------------------------------------------------*/

	main #kv {
		height: min(calc(890/1440*100vw), 890px); 
	}

	main.sub_page #kv .kv_wrap {
		height: min(calc(890/1440*100vw), 890px); 
		padding-bottom: min(calc(448/1440*100vw), 448px); 
	}

	.contact_wrap {
		padding-bottom: min(calc(100/1440*100vw), 100px); 
	}

	.contact_wrap .cont_head {
		font-size: min(calc(95/1440*100vw), 95px); 
		padding-top: min(calc(104/1440*100vw), 104px); 
	}

	.contact_wrap .cont_sub {
		font-size: min(calc(22/1440*100vw), 22px); 
		margin-bottom: min(calc(130/1440*100vw), 130px); 
	}

	.contact_wrap .formGroup .form_caution {
		font-size: min(calc(16/1440*100vw), 16px); 
		margin-bottom: min(calc(60/1440*100vw), 60px); 
	}

	.contact_wrap .formGroup {
		width: min(calc(1030/1440*100vw), 1030px); 
	}

	.contact_wrap .formGroup .formWrap {
		padding-bottom: min(calc(46/1440*100vw), 46px); 
		margin-bottom: min(calc(36/1440*100vw), 36px); 
	}

	.contact_wrap .formGroup .formWrap .ttl_wrap {
		width: min(calc(350/1440*100vw), 350px); 
	}

	.contact_wrap .formGroup .formWrap .ttl {
		font-size: min(calc(22/1440*100vw), 22px); 
		text-align: center; 
	}

	.contact_wrap .formGroup .formWrap .ttl sup {
		font-size: min(calc(16/1440*100vw), 16px); 
	}

	.contact_wrap .formGroup .formWrap .formInput select {
		border: none; 
		padding: min(calc(20/1440*100vw), 20px) min(calc(28/1440*100vw), 28px); 
	}

	.contact_wrap .formGroup .formWrap .caution {
		font-size: min(calc(17/1440*100vw), 17px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box label {
		font-size: min(calc(20/1440*100vw), 20px); 
		margin-bottom: min(calc(20/1440*100vw), 20px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input[type="checkbox"] {
		appearance: none; 
		width: min(calc(33/1440*100vw), 33px); 
		height: min(calc(33/1440*100vw), 33px); 
		margin-right: min(calc(20/1440*100vw), 20px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input[type="checkbox"]:checked:before {
		width: min(calc(12/1440*100vw), 12px); 
		height: min(calc(18/1440*100vw), 18px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input {
		padding: min(calc(20/1440*100vw), 20px) min(calc(28/1440*100vw), 28px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box.col input,
	.contact_wrap .formGroup .formWrap .formInput .input-box.col select {
		border: none; 
		width: 49%; 
		padding: min(calc(20/1440*100vw), 20px) min(calc(28/1440*100vw), 28px); 
	}

	.contact_wrap .formGroup .formWrap .formInput textarea {
		height: min(calc(200/1440*100vw), 200px); 
	}

	/* #agreementFlg ------------------------------------------------------------------------------------------*/

	.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap {
		padding-top: min(calc(60/1440*100vw), 60px); 
	}

	.contact_wrap .formGroup .formWrap.noborder {
		border-bottom: none; 
		padding-bottom: min(calc(100/1440*100vw), 100px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap label {
		font-size: min(calc(22/1440*100vw), 22px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap .privacy_caution {
		font-size: min(calc(17/1440*100vw), 17px); 
		padding-left: min(calc(53/1440*100vw), 53px); 
		white-space: wrap; 
	}

	/* #submit_button ------------------------------------------------------------------------------------------*/

	.contact_wrap .formGroup #submit_button input[type="submit"] {
		font-size: min(calc(17/1440*100vw), 17px); 
	}

	#confirm .contact_wrap .formGroup .formWrap .formInput {
		width: min(calc(600/1440*100vw), 600px); 
		font-size: min(calc(22/1440*100vw), 22px); 
	}

	#confirm .contact_wrap .formGroup #submit_button {
		gap: 0 min(calc(90/1440*100vw), 90px); 
	}

	#confirm .contact_wrap .formGroup #submit_button input[type="button"] {
		font-size: min(calc(17/1440*100vw), 17px); 
	}

	#thanks .contact_wrap .cont_sub {
		margin-top: min(calc(100/1440*100vw), 100px); 
	}

	#thanks .contact_wrap .thanks_text {
		width: min(calc(785/1440*100vw), 785px); 
		font-size: min(calc(20/1440*100vw), 20px); 
	}
}

@media (max-width: 1000px) {

	/* #kv ------------------------------------------------------------------------------------------*/

	main #kv {
		height: min(calc(720/786*100vw), 720px); 
		background-image: url(/assets/img/contact/hero_sp.jpg); 
	}

	main.sub_page #kv .kv_wrap {
		height: min(calc(720/786*100vw), 720px); 
		padding: 0 0 min(calc(356/786*100vw), 356px) min(calc(44/786*100vw), 44px); 
	}

	main.sub_page #kv h1 {
		font-size: min(calc(110/786*100vw), 110px); 
	}

	main.sub_page #kv h2 {
		color: #FFF; 
	}

	.contact_wrap {
		background-image: url(/assets/img/contact/contact_bg_sp.jpg); 
		background-size: cover; 
		padding-bottom: min(calc(140/786*100vw), 140px); 
	}

	.contact_wrap .cont_head {
		font-size: min(calc(80/786*100vw), 80px); 
		text-align: center; 
		padding-top: min(calc(68/786*100vw), 68px); 
	}

	.contact_wrap .cont_sub {
		font-size: min(calc(23/786*100vw), 23px); 
		text-align: center; 
		margin-bottom: min(calc(120/786*100vw), 120px); 
	}

	.contact_wrap .formGroup .form_caution {
		font-size: min(calc(20/786*100vw), 20px); 
		margin-bottom: min(calc(60/786*100vw), 60px); 
		padding-left: calc(40/786*100%); 
	}

	.contact_wrap .formGroup {
		width: 100%; 
		margin: 0 auto; 
	}

	.contact_wrap .formGroup .formWrap {
		display: block; 
		padding-bottom: min(calc(34/786*100vw), 34px); 
		margin-bottom: min(calc(48/786*100vw), 48px); 
		border-bottom: 1px solid #D9D9D9; 
	}

	.contact_wrap .formGroup .formWrap.sp_flex {
		display: flex; 
	}

	.contact_wrap .formGroup .formWrap.sp_flex.day .ttl_wrap {
		width: 57%; 
		white-space: nowrap; 
	}

	.contact_wrap .formGroup .formWrap.sp_flex.time .ttl_wrap {
		width: 70%; 
	}

	.contact_wrap .formGroup .formWrap.sp_flex.day .formInput, 
	.contact_wrap .formGroup .formWrap.sp_flex.time .formInput {
		padding-left: 0; 
	}

	.contact_wrap .formGroup .formWrap.sp_flex.time .formInput .input-box select {
		width: 100%; 
	}

	.contact_wrap .formGroup .formWrap.item_top {
		align-items: flex-start; 
	}

	.contact_wrap .formGroup .formWrap .ttl_wrap {
		width: 100%; 
		padding-right: calc(40/786*100%); 
		padding-left: calc(40/786*100%); 
	}

	.contact_wrap .formGroup .formWrap .ttl {
		font-size: min(calc(24/786*100vw), 24px); 
		text-align: left; 
		margin-bottom: 1em; 
		display: inline-block; 
	}

	.contact_wrap .formGroup .formWrap .ttl sup {
		font-size: min(calc(20/786*100vw), 20px); 
	}

	.contact_wrap .formGroup .formWrap .formInput {
		width: 100%; 
		padding-right: calc(40/786*100%); 
		padding-left: calc(40/786*100%); 
	}

	.contact_wrap .formGroup .formWrap .formInput select {
		border: none; 
		width: 100%; 
		padding: 20px 28px; 
		font-size: 16px; 
		background-position: right 5% center; 
		font-family: "Shippori Mincho", serif; 
	}

	.contact_wrap .formGroup .formWrap .caution {
		text-align: center; 
		font-size: min(calc(18/786*100vw), 18px); 
		display: inline-block; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box {
		width: 100%; 
		display: flex; 
		flex-wrap: wrap; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box label {
		font-size: min(calc(22/786*100vw), 22px); 
		width: 50%; 
		display: flex; 
		align-items: center; 
		margin-bottom: min(calc(20/786*100vw), 20px); 
		cursor: pointer; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input[type="checkbox"] {
		appearance: none; 
		width: min(calc(58/786*100vw), 58px); 
		height: min(calc(58/786*100vw), 58px); 
		background-color: #FFF; 
		margin-right: min(calc(15/786*100vw), 15px); 
		outline: none; 
		cursor: pointer; 
		flex-shrink: 0; 
		flex-grow: 0; 
		padding: 0; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input[type="checkbox"]:checked:before {
		content: ""; 
		display: block; 
		position: absolute; 
		width: min(calc(25/786*100vw), 25px); 
		height: min(calc(35/786*100vw), 35px); 
		border-right: 1px solid #525252; 
		border-bottom: 1px solid #525252; 
		transform: rotate(50deg); 
		left: 26%; 
		top: 10%; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input::placeholder {
		color: #ACACAC; 
		font-family: "Shippori Mincho", serif; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input {
		width: 100%; 
		border: none; 
		padding: 20px 28px; 
		font-family: "Shippori Mincho", serif; 
		font-size: 16px; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box.col {
		display: flex; 
		justify-content: space-between; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box.col input, 
	.contact_wrap .formGroup .formWrap .formInput .input-box.col select {
		border: none; 
		width: 49%; 
		padding: 20px 28px; 
		font-size: 16px; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input[type="date"] {
		color: #525252; 
		-webkit-appearance: none; 
		appearance: none; 
		width: 100%; 
		box-sizing: border-box; 
		background-color: #FFF; 
		-webkit-text-fill-color: #525252; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box input[type="date"]:invalid {
		color: #ACACAC; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box.col select::placeholder {
		color: #ACACAC; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box.col select:invalid {
		color: #ACACAC; 
	}

	.contact_wrap .formGroup .formWrap .formInput textarea {
		width: 100%; 
		border: none; 
		height: min(calc(280/786*100vw), 280px); 
		font-size: 16px; 
		font-family: "Shippori Mincho", serif; 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap {
		display: flex; 
		flex-direction: column; 
		width: 100%; 
		white-space: nowrap; 
		padding-top: 0; 
	}

	.contact_wrap .formGroup .formWrap.noborder {
		border-bottom: none; 
		padding-bottom: min(calc(60/786*100vw), 60px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap label {
		font-size: min(calc(24/786*100vw), 24px); 
	}

	.contact_wrap .formGroup .formWrap .formInput .input-box .privacy_wrap .privacy_caution {
		font-size: min(calc(24/786*100vw), 24px); 
		padding-left: 0; 
		white-space: wrap; 
	}

	/* #error_text ------------------------------------------------------------------------------------------*/

	.contact_wrap .formGroup .formWrap .formInput .input-box .error_text, 
	.contact_wrap .formGroup .formWrap .formInput .pd-err {
		font-size: min(calc(24/786*100vw), 24px); 
	}

	/* #submit_button ------------------------------------------------------------------------------------------*/

	#confirm .contact_wrap {
		padding-bottom: min(calc(70/786*100vw), 70px); 
	}

	.contact_wrap .formGroup #submit_button input[type="submit"] {
		font-family: "Shippori Mincho", serif; 
		font-size: min(calc(24/786*100vw), 24px); 
		color: #FFF; 
		border: none; 
		outline: none; 
		background-color: #938994; 
		padding: 1.5em 3em; 
		cursor: pointer; 
		margin: 0 auto; 
		display: block; 
	}

	#confirm .contact_wrap .formGroup .formWrap {
		display: flex; 
		align-items: flex-start; 
	}

	#confirm .contact_wrap .formGroup .formWrap .ttl {
		width: 62%; 
		padding-left: calc(40/786*100%); 
		margin-bottom: 0; 
	}

	#confirm .contact_wrap .formGroup .formWrap .formInput {
		width: 100%; 
		font-size: min(calc(24/786*100vw), 24px); 
	}

	#confirm .contact_wrap .formGroup .contact-content-wrap .formInput .contact-content-box {
		white-space: normal !important; 
		word-wrap: break-word !important; 
	}

	#confirm .contact_wrap .formGroup .contact-content-wrap .formInput .contact-content-box br {
		display: block !important; 
		content: "" !important; 
		margin-top: 0.5em !important; 
	}

	#confirm .contact_wrap .formGroup #submit_button {
		display: flex; 
		justify-content: space-between; 
		gap: 0; 
		padding-left: calc(40/786*100%); 
		padding-right: calc(40/786*100%); 
	}

	#confirm .contact_wrap .formGroup .formWrap.noborder .ttl {
		white-space: nowrap; 
	}

	#confirm .contact_wrap .formGroup #submit_button input[type="submit"] {
		margin: 0; 
	}

	#confirm .contact_wrap .formGroup #submit_button input[type="button"] {
		font-family: "Shippori Mincho", serif; 
		font-size: min(calc(24/786*100vw), 24px); 
		color: #FFF; 
		border: none; 
		outline: none; 
		background-color: #938994; 
		padding: 0.4em 3em; 
		cursor: pointer; 
		margin: 0; 
		display: block; 
	}

	#thanks .contact_wrap {
		padding-bottom: min(calc(100/786*100vw), 100px); 
	}

	#thanks .contact_wrap .cont_sub {
		margin-top: min(calc(42/786*100vw), 42px); 
	}

	#thanks .contact_wrap .thanks_text {
		width: 100%; 
		padding: 0 calc(40/786*100%); 
		margin: 0 auto; 
		font-size: min(calc(22/786*100vw), 22px); 
		line-height: 202%; 
	}
}