@charset "UTF-8";


/* contact ---------------------------------------*/

.contact {
	padding: 67px 60px 120px;
}

.contact-head {
	margin-bottom: 62px;
}

.contact-head-title {
	font-size: 40px;
	letter-spacing: -0.05em;
	line-height: 1.2;
	color: #262626;
	margin-bottom: 31px;
	text-align: center;
}

.contact-head-text {
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 2;
	color: #595959;
	text-align: center;
}

.contact-form-wrapper {
	max-width: 1040px;
	margin: 0 auto;
	background: #EFEEEA;
	border-radius: 20px;
}

.contact-form {
	max-width: 880px;
	margin: 0 auto;
	padding: 60px 40px 60px 40px;
}

.contact-thanks {
	padding: 113px 60px 430px;
	min-height: calc(100dvh - 230px);
}

.contact-thanks-block {
}

.contact-thanks-message {
	font-size: 44px;
	line-height: 1.4;
	color: #956134;
	text-align: center;
	margin-bottom: 14px;
}

.contact-thanks-title {
	font-size: 24px;
	line-height: 1.6;
	color: #262626;
	margin-bottom: 24px;
	text-align: center;
}

.contact-thanks-text {
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 2;
	text-align: center;
	margin-bottom: 44px;
}

.contact-thanks-btn-wrapper {
	text-align: center;
}

.contact-thanks-btn {
	display: inline-block;
	width: 320px;
	height: 52px;
	line-height: 48px;
	max-width: 100%;
	background: #956134;
	border: 2px solid #956134;
	border-radius: 50px;
	padding: 0 20px;
	font-size: 14px;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
	transition: all .25s ease;
}

.contact-thanks-btn:hover {
	background: #fff;
	color: #956134;
}

.contactfooter-btn-wrapper {
	text-align: center;
}

.contactfooter-btn {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 0.02em;
	line-height: 1.3;
	color: #737373;
	border: 1px solid #D5C0AE;
	border-radius: 50px;
	padding: 15px 20px;
	width: 320px;
	max-width: 100%;
	transition: all .25s ease;
}

.contactfooter-btn:hover {
	background: #956134;
	color: #fff;
}

.form-group {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	padding-bottom: 40px;
	gap: 30px;
}

.form-group-label {
	width: 224px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	color: #595959;
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 13px;
}

.form-group-choice .form-group-label {
	padding-top: 0;
}


.form-group-label .required {
	background: #D9D9D9;
	width: 42px;
	height: 26px;
	line-height: 26px;
	border-radius: 4px;
	text-align: center;
	font-size: 13px;
	letter-spacing: 0.02em;
}

.form-group-content {
	/* flex: 1; */
	width: calc(100% - 254px);
}

.form-group-content-checkbox, .form-group-content-radio {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 19px 19px;
}

.form-group-content-name {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 30px;
}

.form-group-content-name .form-text-wrapper{
	width: calc(50% - 15px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.form-group-content-name .form-text-wrapper label {
	font-size: 16px;
	letter-spacing: 0.02em;
	line-height: 1.6;
	width: 1em;
}

.form-group-content-kana .form-text-wrapper label {
	width: 2em;
}

.form-group-content-name .form-text {
	flex: 1;
}

.form-group-content-postalcode {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
}

.form-group-content-postalcode .form-text {
	width: 149px;
	max-width: 45%;
}

.form-group-content-postalcode .form-text:first-child {
	margin-right: 10px;
}

.form-group-content-postalcode .form-text:last-child {
	margin-left: 10px;
}

.form-group-content-phone {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: nowrap;
}

.form-group-content-phone .form-text {
	width: 167px;
	max-width: 28%;
}

.form-group-content-phone .form-text:first-child,.form-group-content-phone .form-text:nth-child(3) {
	margin-right: 10px;
}

.form-group-content-phone .form-text:last-child,.form-group-content-phone .form-text:nth-child(3)  {
	margin-left: 10px;
}

.form-group-content-text {
	font-size: 14px;
	letter-spacing: 0.02em;
	line-height: 1.6;
	text-align: left;
	margin-bottom: 4px;
	margin-top: 24px;
}

.form-group-content-family {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 30px;
}

.form-group-content-family .form-text-wrapper{
	max-width: calc(50% - 15px);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.form-group-content-family label {
	width: 2em;
}

.form-group-content-family .form-text {
	width: 120px;
	max-width: calc(100% - 2em - 10px);
}

.form-group-content-family span {
	width: 1em;
}


/* wp対応 */
.wpcf7 .form-group-content-checkbox .wpcf7-checkbox,
.wpcf7 .form-group-content-radio .wpcf7-radio {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 19px 19px;
}

.wpcf7 .form-group-content-checkbox .wpcf7-list-item,
.wpcf7 .form-group-content-radio .wpcf7-list-item {
	display: inline-block;
    line-height: 1;
    font-size: 16px;
    position: relative;
	margin: unset;
}

.wpcf7 .form-group-content-checkbox .wpcf7-list-item .wpcf7-list-item-label,
.wpcf7 .form-group-content-radio .wpcf7-list-item .wpcf7-list-item-label {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.1;
	min-height: 23px;
	letter-spacing: 0.08em;
	margin: 0px 0;
	padding: 4px 0 4px 36px;
	position: relative;
	vertical-align: top;
	pointer-events: none; /* テキストのクリックを無効化 */
}

.wpcf7 .form-group-content-checkbox .wpcf7-list-item input[type="checkbox"],
.wpcf7 .form-group-content-radio .wpcf7-list-item input[type="radio"] {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%; /* 項目全体をクリック可能に */
	height: 100%;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
	margin: 0;
}

.wpcf7 .form-group-content-checkbox .wpcf7-list-item .wpcf7-list-item-label::before,
.wpcf7 .form-group-content-radio .wpcf7-list-item .wpcf7-list-item-label::before{
	display: block;
	content: '';
	border: 1px solid #D9D9D9;
	background: #fff;
	border-radius: 4px;
	width: 26px;
	height: 26px;
	position:absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
	pointer-events: none; /* inputのクリックを邪魔しない */
}

.wpcf7 .form-group-content-checkbox .wpcf7-list-item input:checked + .wpcf7-list-item-label::after,
.wpcf7 .form-group-content-radio .wpcf7-list-item input:checked + .wpcf7-list-item-label::after{
	display:block;
	content:'';
	background: url("../img/common/icon_checked.svg") no-repeat #956134 center center / 16px 13px;
	border-radius:1px;
	width:28px;
	height:28px;
	border-radius:4px;
	position:absolute;
	left: 1px;
	top:50%;
	transform: translate(0,-50%);
	pointer-events: none; /* inputのクリックを邪魔しない */
}

.wpcf7 .form-group-content-checkbox .wpcf7-list-item input:disabled + .wpcf7-list-item-label,
.wpcf7 .form-group-content-radio .wpcf7-list-item input:disabled + .wpcf7-list-item-label {opacity: 0.7;}


.wpcf7 .wpcf7-form-control-wrap {display: block;}

.wpcf7 .form-text-wrapper .wpcf7-form-control-wrap {flex: 1;}

.wpcf7 .form-group-content-postalcode .wpcf7-form-control-wrap {
	width: 149px;
	max-width: 45%;
}

.wpcf7 .form-group-content-postalcode .wpcf7-form-control-wrap:last-child {margin-left: 10px;}
.wpcf7 .form-group-content-postalcode .wpcf7-form-control-wrap:first-child {margin-right: 10px;}
.wpcf7 .form-group-content-postalcode .wpcf7-form-control-wrap .form-text:last-child {margin-left: unset;}
.wpcf7 .form-group-content-postalcode .wpcf7-form-control-wrap .form-text:first-child {margin-right: unset;}
.form-group-content-postalcode .wpcf7-form-control-wrap .form-text {
	width: 100%;
	max-width: unset;
}

.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap {
    width: 167px;
    max-width: 28%;
}

.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap:first-child,
.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap:nth-child(3) {margin-right: 10px;}
.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap:last-child,
.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap:nth-child(3)  {margin-left: 10px;}
.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap .form-text:first-child,
.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap .form-text:nth-child(3) {margin-right: unset;}
.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap .form-text:last-child,
.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap .form-text:nth-child(3)  {margin-left: unset;}
.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap .form-text {
	width: 100%;
	max-width: unset;
}

.wpcf7 .form-group-content-family .wpcf7-form-control-wrap {
    width: 120px;
    max-width: calc(100% - 2em - 10px);
}

.wpcf7 .form-group-content-family .wpcf7-form-control-wrap .form-text {
    width: 100%;
    max-width: unset;
}

.wpcf7 .submit-btn {border-radius: 50px !important;}

.wpcf7 span.wpcf7-spinner {
	display: none;
}

.wpcf7-form.sent .wpcf7-response-output {
	display: none !important;
}

[data-name="trigger"] .wpcf7-list-item.first,
[data-name="current-status"] .wpcf7-list-item.first,
[data-name="request-location"] .wpcf7-list-item.first {
	display: none;
}


/* エラー表示 */
.wpcf7 span.wpcf7-not-valid-tip {
	position: absolute;
	top: calc(100% + 2px);
	left: 0;
	font-size: 80%;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	display: block;
	text-align: center;
	border: unset;
	color: #dc3232;
}

/* エラー状態のinput */
input.wpcf7-not-valid,
textarea.wpcf7-not-valid,
select.wpcf7-not-valid {
  border-color: #D88282;
  background-color: #F9EDED;
}


/* small pc */
@media screen and (min-width: 768px) and (max-width: 1000px){

}
/* small pc */

@media screen and (min-width: 768px) and (max-width: 860px){


}


@media screen and (max-width: 767px){


	/* contact ---------------------------------------*/

	.contact {
		padding: 46px 20px 80px;
	}

	.contact-head {
		margin-bottom: 41px;
	}

	.contact-head-title {
		font-size: 24px;
		margin-bottom: 15px;
	}

	.contact-head-text {
		font-size: 14px;
		letter-spacing: 0.08em;
		line-height: 2;
		color: #595959;
		text-align: left;
	}

	.contact-form-wrapper {
		max-width: 1040px;
		margin: 0 auto;
		background: #EFEEEA;
		border-radius: 20px;
	}

	.contact-form {
		max-width: 880px;
		margin: 0 auto;
		padding: 20px 20px 40px 20px;
	}

	.contact-thanks {
		padding: 46px 20px 80px;
		min-height: unset;
	}

	.contact-thanks .contact-head-text {text-align: center;}

	.contact-thanks {
		padding: 75px 40px 120px 40px;
		min-height: unset;
	}

	.contact-thanks-block {
	}

	.contact-thanks-message {
		font-size: 32px;
		margin-bottom: 12px;
	}

	.contact-thanks-title {
		font-size: 20px;
		margin-bottom: 18px;
	}

	.contact-thanks-text {
		font-size: 14px;
		letter-spacing: 0.02em;
		margin-bottom: 30px;
	}

	.contact-thanks-btn {
		width: 295px;
	}

	.contact-thanks-btn:hover {
		background: #956134;
		color: #fff;
	}

	.contactfooter-btn {
		line-height: 1.3;
		padding: 15px 15px;
		width: 240px;
	}

	.contactfooter-btn:hover {
		background: #fff;
		color: #737373;
	}

	.form-group {
		display: block;
		padding-bottom: 40px;
	}

	.form-group-label {
		width: 100%;
		font-size: 14px;
		/* font-weight: bold; */
		line-height: 1.6;
		/* color: #595959; */
		/* text-align: left; */
		/* display: flex;
		justify-content: space-between;
		align-items: center;
		flex-wrap: wrap; */
		/* gap: 10px; */
		padding-top: 0;
		letter-spacing: 0.02em;
		margin-bottom: 18px;
	}

	/* .form-group-choice .form-group-label {
		padding-top: 0;
	} */


	.form-group-label .required {
		width: 36px;
		height: 20px;
		line-height: 20px;
		font-size: 12px;
		letter-spacing: 0.02em;
	}

	.form-group-content {
		/* flex: 1; */
		width: 100%;
	}

	.form-group-content-checkbox, .form-group-content-radio {
		flex-direction: column;
		gap: 20px;
	}

	.form-group-content-name {
		flex-direction: column;
		gap: 15px;
	}

	.form-group-content-name .form-text-wrapper{
		width: 100%;
	}

	.form-group-content-name .form-text-wrapper label {
		font-size: 14px;
		letter-spacing: 0.02em;
		/* line-height: 1.6;
		width: 1em; */
	}

	/* .form-group-content-kana .form-text-wrapper label {
		width: 2em;
	} */

	/* .form-group-content-name .form-text {
		flex: 1;
	} */

	.form-group-content-postalcode {
		gap: 5px;
	}

	.form-group-content-postalcode .form-text {
		width: 137px;
		max-width: 47%;
	}

	.form-group-content-postalcode .form-text:first-child {
		margin-right: 0;
	}

	.form-group-content-postalcode .form-text:last-child {
		margin-left: 0;
	}

	.form-group-content-postalcode span {
		width: 15px;
		max-width: calc(100% - 274px - 10px);
		text-align: center;
	}

	.form-group-content-phone {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: nowrap;
		gap: 5px;
	}

	.form-group-content-phone .form-text {
		width: 89px;
		max-width: 29.5%;
	}

	.form-group-content-phone .form-text:first-child,.form-group-content-phone .form-text:nth-child(3) {
		margin-right: 0;
	}

	.form-group-content-phone .form-text:last-child,.form-group-content-phone .form-text:nth-child(3)  {
		margin-left: 0;
	}

	.form-group-content-phone span {
		width: 15px;
		max-width: calc(100% - 267px - 20px);
		text-align: center;
	}

	.form-group-content-text {
		letter-spacing: 0.04em;
		margin-top: 14px;
	}

	.form-group-content-family {
		flex-direction: column;
		gap: 15px;
	}

	.form-group-content-family .form-text-wrapper{
		width: 100%;
		max-width: 100%;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		flex-wrap: wrap;
		gap: 12px;
	}

	.form-group-content-family label {
		width: 2em;
		font-size: 14px;
	}

	.form-group-content-family .form-text {
		width:  calc(100% - 3em - 24px);
		max-width: unset;
		text-align: right;
	}

	.form-group-content-family span {
		width: 1em;
		font-size: 14px;
	}


	/* wp対応 */
	.wpcf7 .form-group-content-checkbox .wpcf7-checkbox,
	.wpcf7 .form-group-content-radio .wpcf7-radio {
		flex-direction: column;
		gap: 20px;
	}

	.wpcf7 .form-group-content-checkbox .wpcf7-list-item,
	.wpcf7 .form-group-content-radio .wpcf7-list-item {font-size: 14px;}

	.wpcf7 .form-group-content-postalcode .wpcf7-form-control-wrap {
		width: 137px;
		max-width: 47%;
	}
	.wpcf7 .form-group-content-postalcode .wpcf7-form-control-wrap:last-child {margin-left: 0;}
	.wpcf7 .form-group-content-postalcode .wpcf7-form-control-wrap:first-child {margin-right: 0;}

	.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap {
		width: 89px;
		max-width: 29.5%;
	}
	.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap:first-child,
	.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap:nth-child(3) {margin-right: 0;}
	.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap:last-child,
	.wpcf7 .form-group-content-phone .wpcf7-form-control-wrap:nth-child(3)  {margin-left: 0;}

	.wpcf7 span.wpcf7-not-valid-tip {
		top: 100%;
		font-size: 60%;
		white-space: nowrap;
	}
}