body {
	font-family: "Yu Mincho", "YuMincho", serif;
}

body {
	font-weight: 400;
}

body {
	color: #333;
}

.u-desktop {
	display: none;
}

.contact {
	padding-bottom: clamp(20px, 6.25rem, 120px);
}

.contact__desc {
	font-size: clamp(16px, 1rem, 18px);
	margin-bottom: clamp(45px, 2.8125rem, 60px);
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__item {
	display: flex;
	flex-direction: column;
	gap: clamp(14px, 1rem, 16px);
	padding: clamp(18px, 1.25rem, 28px) 0;
}

.contact .form__item:first-of-type {
	padding-top: 0;
}

.contact .form__item__left {
	width: 100%;
}

.contact .form__item__left label,
.contact .form__item__left p.confirm-title {
	font-size: clamp(16px, 1rem, 18px);
	margin-bottom: 0.3125rem;
	display: flex;
	gap: 1.875rem;
	justify-content: flex-start;
	align-items: center;
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__item__left label span,
.contact .form__item__left p.confirm-title span {
	font-size: clamp(14px, 0.9375rem, 18px);
	color: #fff;
	background-color: #7D7C7C;
	padding: clamp(2px, 0.125rem, 6px) clamp(6px, 0.5rem, 12px);
	border-radius: clamp(8px, 0.625rem, 12px);
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__item__left label span.required,
.contact .form__item__left p.confirm-title span.required {
	background-color: #FA9B9B;
}

.contact .form__item__left p:not(.confirm-title) {
	font-size: clamp(14px, 0.875rem, 16px);
	color: #333333;
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__item__right {
	width: 100%;
}

.contact .form__item__right input,
.contact .form__item__right textarea {
	width: 100%;
	padding: 0.3125rem 0.625rem;
	border: 1px solid #333333;
	border-radius: 0.3125rem;
	font-size: clamp(16px, 1rem, 18px);
	background-color: #fff;
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__item__right input.wpcf7-not-valid,
.contact .form__item__right textarea.wpcf7-not-valid {
	border-color: #FE0000;
}

.contact .form__item__right textarea {
	height: clamp(150px, 9.375rem, 180px);
	resize: none;
}

.contact .form__item__right p,
.contact .form__item__right li {
	font-size: clamp(16px, 1rem, 18px);
}

.contact .form__item__right .wpcf7-not-valid-tip {
	color: #FE0000;
	font-family: "Noto Sans JP", sans-serif;
	font-size: clamp(16px, 1rem, 18px);
}

.contact .form__item__right .codedropz-upload-handler {
	height: clamp(150px, 9.375rem, 180px);
	border: 1px solid #333333;
	border-radius: 0.3125rem;
}

.contact .form__item__right .dnd-upload-counter {
	display: none;
}

.contact .form__item__right .codedropz-upload-container {
	height: 100%;
}

.contact .form__item__right .codedropz-upload-container .codedropz-upload-inner {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 0.375rem;
}

.contact .form__item__right .codedropz-upload-container .codedropz-upload-inner span {
	color: #767676;
	font-size: clamp(14px, 0.875rem, 16px);
	display: none;
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__item__right .codedropz-upload-container .codedropz-upload-inner a {
	font-size: clamp(14px, 0.875rem, 16px);
	padding: 0.5rem 1.5rem;
	background-color: #F8F7F3;
	border: 1px solid #333;
	border-radius: 0.3125rem;
	display: block;
	width: fit-content;
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__item__right .dnd-upload-image,
.contact .form__item__right em,
.contact .form__item__right .dnd-progress-bar {
	display: none;
}

.contact .form__item__right .dnd-upload-status .dnd-upload-details .name span {
	color: #333;
	font-size: clamp(14px, 0.875rem, 16px);
}

.contact .form__item__right .dnd-upload-status .dnd-upload-details .remove-file span:after {
	height: 1.125rem;
	width: 1.125rem;
}

.contact .form__accept span:not(.wpcf7-list-item-label) {
	width: 100%;
	display: flex;
	justify-content: center;
}

.contact .form__accept .wpcf7-list-item {
	margin: 0 0 0 0;
	padding: clamp(10px, 1.25rem, 30px) 0;
}

.contact .form__accept .wpcf7-list-item label {
	display: flex;
	justify-content: center;
	gap: 0.3125rem;
	align-items: center;
	width: fit-content;
}

.contact .form__accept label {
	font-size: clamp(16px, 1rem, 18px);
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__accept label a {
	font-size: 1em;
	color: #333333;
	text-decoration: underline;
	text-underline-offset: 0.3125rem;
	font-family: "Noto Sans JP", sans-serif;
}

.contact .form__accept input {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	border: 1px solid #333333;
}

.contact .form__accept .wpcf7-list-item-label {
	cursor: pointer;
	position: relative;
	font-size: clamp(14px, 0.875rem, 16px);
}

.contact .form__accept input[type=checkbox] {
	opacity: 0;
	position: absolute;
	z-index: -1;
}

.contact .form__accept .wpcf7-list-item-label::before {
	border: 1px solid #333;
	content: "";
	display: inline-block;
	margin-right: 10px;
	position: relative;
	top: -1px;
	vertical-align: middle;
	width: clamp(22px, 1.5rem, 26px);
	height: clamp(22px, 1.5rem, 26px);
}

.contact .form__accept input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	background: url(../../images/contact/contact-check-icon.svg) no-repeat center/contain;
	content: "";
	display: block;
	position: absolute;
	top: 0.7em;
	transform: translateY(-50%);
	left: 4px;
	width: clamp(16px, 1rem, 18px);
	height: clamp(16px, 1rem, 18px);
}

.contact .form__accept input[type=checkbox]:checked + .wpcf7-list-item-label::before {
	background-color: #333;
}

.contact .form__buttons {
	display: flex;
	flex-direction: column-reverse;
	justify-content: center;
	align-items: center;
	gap: clamp(10px, 1.875rem, 50px);
	margin-top: clamp(10px, 2.5rem, 50px);
}

.contact .form__buttons .wpcf7-spinner {
	position: absolute;
}

.contact .form__buttons .mt0 {
	margin-top: 0;
}

.contact .form__button {
	display: flex;
	justify-content: center;
	margin-top: clamp(10px, 2.5rem, 50px);
}

.contact .form__button .add-after {
	position: relative;
	width: fit-content;
}

.contact .form__button .add-after::after {
	content: "";
	display: block;
	width: 0.625rem;
	height: 0.625rem;
	position: absolute;
	bottom: 0.625rem;
	right: 0.625rem;
	border-right: 1px solid #555;
	border-bottom: 1px solid #555;
	transition: 0.5s;
	pointer-events: none;
}

.contact .form__button .add-after:hover::after {
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.contact .form__button .add-after input,
.contact .form__button .add-after button {
	width: clamp(300px, 18.75rem, 400px);
	padding: 0.875rem 1rem;
	border: 1px solid #333333;
	border-radius: 0.5rem;
	font-size: clamp(18px, 1.125rem, 22px);
	background-color: #fff;
	font-family: "Yu Mincho", "YuMincho", serif;
	transition: 0.5s;
	color: #333333;
}

.contact .form__button .add-after input:hover,
.contact .form__button .add-after button:hover {
	background-color: #555;
	color: #fff;
}

.contact .wpcf7 form .wpcf7-response-output {
	font-family: "Noto Sans JP", sans-serif;
	margin: 2.5rem auto 0;
	width: 18.75rem;
	border-radius: 0.5rem;
}

.contact .wpcf7 form .wpcf7-response-output.wpcf7-validation-errors {
	border-color: #FE0000;
	color: #FE0000;
	text-align: center;
}

@media screen and (min-width: 1001px) {

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

.contact {
	padding-bottom: 8.75rem;
}

.contact__desc {
	font-size: 1.25rem;
	margin-bottom: 5.625rem;
}

.contact .form__item {
	flex-direction: row;
	gap: 1.25rem;
	padding: 1.875rem 0;
}

.contact .form__item__left {
	width: 23.75rem;
}

.contact .form__item__left label,
.contact .form__item__left p.confirm-title {
	font-size: 1.25rem;
	margin-bottom: 0.625rem;
	gap: 1.875rem;
}

.contact .form__item__left label span,
.contact .form__item__left p.confirm-title span {
	font-size: 1.125rem;
	padding: 0.1875rem 0.9375rem;
	border-radius: 0.625rem;
}

.contact .form__item__left p:not(.confirm-title) {
	font-size: 1rem;
}

.contact .form__item__right {
	width: calc(100% - 23.75rem - 1.25rem);
}

.contact .form__item__right input,
.contact .form__item__right textarea {
	padding: 0.625rem 1.25rem;
	font-size: 1.25rem;
}

.contact .form__item__right textarea {
	height: 18.125rem;
}

.contact .form__item__right p,
.contact .form__item__right li {
	font-size: 1.25rem;
}

.contact .form__item__right .codedropz-upload-handler {
	height: 18.125rem;
}

.contact .form__item__right .codedropz-upload-container .codedropz-upload-inner {
	gap: 0.625rem;
}

.contact .form__item__right .codedropz-upload-container .codedropz-upload-inner span {
	font-size: 1.25rem;
	display: block;
}

.contact .form__item__right .codedropz-upload-container .codedropz-upload-inner a {
	font-size: 1.25rem;
	padding: 0.5rem 2.5rem;
}

.contact .form__item__right .dnd-upload-status .dnd-upload-details .name span {
	font-size: 1.125rem;
}

.contact .form__accept .wpcf7-list-item {
	padding: 1.875rem 0;
}

.contact .form__accept .wpcf7-list-item label {
	gap: 0.625rem;
}

.contact .form__accept label {
	font-size: 1.25rem;
}

.contact .form__accept .wpcf7-list-item-label {
	font-size: 1rem;
}

.contact .form__accept .wpcf7-list-item-label::before {
	width: 1.75rem;
	height: 1.75rem;
}

.contact .form__accept input[type=checkbox]:checked + .wpcf7-list-item-label::after {
	width: 1.25rem;
	height: 1.25rem;
}

.contact .form__buttons {
	flex-direction: row;
	margin-top: 3.75rem;
}

.contact .form__button {
	margin-top: 3.75rem;
}

.contact .form__button .add-after::after {
	width: 1.25rem;
	height: 1.25rem;
}

.contact .form__button .add-after input,
.contact .form__button .add-after button {
	width: 30rem;
	font-size: 1.5625rem;
	padding: 1.125rem 1.25rem;
}

.contact .wpcf7 form .wpcf7-response-output {
	width: 30rem;
	padding: 0.875rem 1rem;
	margin-top: 3.75rem;
}

.contact .wpcf7 form .wpcf7-response-output.wpcf7-validation-errors {
	font-size: 1.25rem;
}

}


/*# sourceMappingURL=contact.css.map */
