@charset "UTF-8";
/* ==============================================
お問い合わせ
============================================== */

.p-contact-nav {
	padding-bottom: 66px;
	display: flex;
	justify-content: space-between;
	max-width: 313px;
	margin: 0 auto;
}
.p-contact-nav__li {
	flex: 0 1 95px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.p-contact-nav__li:not(:last-child) {
	position: relative;
}
.p-contact-nav__li:not(:last-child)::after {
	content: '';
	width: 75px;
	height: 1px;
	background: #D3D3D3;
	position: absolute;
	right: -100px;
	top: 50%;
	transform: translateY(-50%);
}
.p-contact-nav__num {
	line-height: 1;
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #D3D3D3;
	border-radius: 50%;
	color: #fff;
	font-weight: bold;
}
.p-contact-nav__num--current {
	color: #fff;
	background: #000;
}
.p-contact-nav__text {
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1;
	color: #D3D3D3;
}
.p-contact-nav__text--current {
	color: #000;
}
.p-contact-view_box__loader {
	margin-top: 30px;
}
.p-contact-view_box_error {
	border: 1px solid #CC1F1F;
	color: #CC1F1F;
	padding: 1em;
	text-align: center;
	margin-top: 30px;
	font-size: 2.0rem;
}
.p-contact-view_box .p-buttons-a {
	margin-top: 20px;
}
.p-contact-formtext {
	padding-bottom: 66px;
	display: flex;
}
.p-contact-formtext__p:first-child {
	margin-right: 45px;
}
.p-contact-formtext__p:last-child {
	display: flex;
	align-items: center;
}
.p-contact-form__hissu {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #CC1F1F;
	color: #CC1F1F;
	width: 40px;
	height: 28px;
	font-size: 1.2rem;
	margin-right: 6px;
}
.p-contact-form__hissu--title {
	margin: 0 0 0 23px;
	font-weight: normal;
}
.p-contact-form input[type="text"],
.p-contact-form input[type="tel"],
.p-contact-form input[type="email"] {
	padding: 0 14px;
	height: 50px;
	line-height: 50px;
	border: none;
	border-radius: 0;
	background: #F0F0F0;
	margin: 0;
	width: 100%;
}
.p-contact-form textarea {
	width: 100%;
	padding: 14px;
	border: none;
	border-radius: 0;
	height: 200px;
	background: #F0F0F0;
	line-height: 1.6;
}
.p-contact-form .p-contact-box + .p-contact-box {
	margin-top: 45px;
}
.p-contact-form--conf .p-contact-box_message {
	white-space: pre-wrap;
}
.p-contact-form--conf .p-contact-btn_box {
	display: flex;
	justify-content: center;
}
.p-contact-form--conf .p-buttons-a {
	margin: 0 40px;
}
.p-contact-box {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.p-contact-box--start {
	align-items: flex-start;
}
.p-contact-box__title {
	flex: 0 0 315px;
	display: flex;
	align-items: center;
	font-weight: bold;
	line-height: 1;
}
.p-contact-box__input {
	flex: 0 1 735px;
}
.p-contact-box__notice {
	margin-top: 10px;
}
.p-contact-box__error_text {
	line-height: 1;
	color: #CC1F1F;
}
.p-contact-box__error_show {
	padding-top: 10px;
	display: block;
}
.p-contact-box-radio {
	display: flex;
	flex-flow: row wrap;
	margin-top: -15px;
}
.p-contact-box-radio__li {
	flex: 0 1 235px;
	display: flex;
	align-items: center;
	font-weight: bold;
	margin-top: 15px;
}
.p-contact-box-radio__li:not(:nth-child(3n)) {
	margin-right: 15px;
}
.p-contact-box-radio__input {
	display: none;
}
.p-contact-box-radio__label {
	width: 100%;
	height: 82px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	border: 1px solid #000;
	text-align: center;
	cursor: pointer;
}
.p-contact-box-radio__input:checked + .p-contact-box-radio__label {
	background: #000;
	color: #fff;
}
.p-contact-inputfile {
	display: flex;
	align-items: center;
}
.p-contact-inputfile__input {
	display: none;
}
.p-contact-inputfile__label {
	width: 240px;
	height: 69px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: url("../../img/icon_file_contact.png") no-repeat 202px center;
	background-size: 18px auto;
	background-color: #000;
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	margin-right: 30px;
}
.p-contact-inputfile__text {
	word-break: break-all;
}
.p-contact-privacy {
	margin-top: 66px;
	padding: 40px;
	border: 1px solid #D3D3D3;
}
.p-contact-privacy__h2 {
	font-weight: bold;
	line-height: 1;
	margin-bottom: 25px;
}
.p-contact-privacy__a {
	text-decoration: underline;
}
.p-contact-accept {
	text-align: center;
	display: flex;
	justify-content: center;
	margin-top: 35px;
}
.p-contact-accept__input {
	margin-right: 10px;
}
.p-contact-btn_box {
	margin-top: 85px;
}
.p-contact-thanks__title {
	text-align: center;
	font-weight: bold;
	font-size: 3.0rem;
	line-height: 1;
	margin-bottom: 28px;
}
.p-contact-thanks__text {
	text-align: center;
	margin-bottom: 66px;
}
.p-contact-thanks__br {
	display: none;
}
/* アニメーション
----------------------- */

.fade-enter-active,
.fade-leave-active {
	transition: opacity .4s;
}
.fade-enter,
.fade-leave-to {
	opacity: 0;
}
.fade2-enter-active,
.fade2-leave-active {
	transition: opacity .4s;
}
.fade2-enter,
.fade2-leave-to {
	opacity: 0;
}
.wpcf7-form-control-wrap {
	display: block;
}
.wpcf7-radio {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 15px;
	row-gap: 15px;
}
.wpcf7-radio .wpcf7-list-item {
	display: block;
}
.wpcf7-radio .wpcf7-list-item > label {
	height: 100%;
	display: block;
	position: relative;
}
.wpcf7-radio .wpcf7-list-item > label > input {
	position: absolute;
	top: 0;
	left: 0;
	visibility: hidden;
}
.wpcf7-radio .wpcf7-list-item > label > .wpcf7-list-item-label {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	border: 1px solid #000;
	text-align: center;
	cursor: pointer;
	min-height: 82px;
	height: 100%;
	box-sizing: border-box;
	transition-duration: .3s;
	transition-property: background-color, color;
	line-height: 1.3;
	padding: 10px 15px;
}
.wpcf7-radio .wpcf7-list-item > label > input:checked + .wpcf7-list-item-label {
	background-color: #000;
	color: #fff;
}
[type="submit"][disabled] {
	pointer-events: none;
}
.wpcf7-not-valid-tip {
	color: #C30A14;
	font-weight: normal;
	display: block;
	vertical-align: baseline;
	margin-top: 1px;
}
.screen-reader-response {
	display: none;
}
.wpcf7-response-output {
	color: #3A87AD;
	background-color: #D9EDF7;
	border: 1px solid #BCE8F1;
	padding: 20px 20px;
	margin-top: 35px;
	display: none;
}
[data-status="spam"] .wpcf7-response-output,
[data-status="invalid"] .wpcf7-response-output {
	color: #d34226;
	background-color: #ffdfdf;
	border-color: rgba(211, 66, 38, 0.44);
	display: block;
}
[data-status="sent"] .wpcf7-response-output {
	display: block;
}
@keyframes rotate {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}
.p-contact-btn_loading {
	fill: currentColor;
	width: 30px;
	height: 30px;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	position: absolute;
	z-index: 1;
	display: none;
	animation-name: rotate;
	animation-iteration-count: infinite;
	animation-duration: 2s;
	animation-timing-function: linear;
	font-size: 24px;
}
[data-status="submitting"] .c-button-a--row .c-button-a__content .text {
	opacity: 0;
}
[data-status="submitting"] .c-button {
	pointer-events: none;
}
[data-status="submitting"] .p-contact-btn_loading {
	display: block;
}
[data-status="submitting"] .c-button-a--row .c-button-a__content .c-arrow-b {
	opacity: 0;
}
@media only screen and (max-width:999px) {
	.wpcf7-radio {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media only screen and (max-width: 767px) {
	.p-contact-nav {
		padding-bottom: 17.6vw;
		max-width: 51vw;
	}
	.p-contact-nav__li {
		flex: 0 1 13.33333vw;
		display: block;
	}
	.p-contact-nav__li:not(:last-child) {
		position: relative;
	}
	.p-contact-nav__li:not(:last-child)::after {
		content: '';
		width: 10.66667vw;
		height: 0.26667vw;
		right: -17.33333vw;
		top: 6.66667vw;
		transform: translateY(0);
	}
	.p-contact-nav__num {
		width: 13.33333vw;
		height: 13.33333vw;
	}
	.p-contact-nav__text {
		margin-top: 2.66667vw;
		text-align: center;
	}
	.p-contact-view_box__loader {
		margin-top: 5.33333vw;
	}
	.p-contact-formtext {
		padding-bottom: 45px;
		display: block;
	}
	.p-contact-formtext__p:first-child {
		margin-right: 0;
	}
	.p-contact-formtext__p:last-child {
		margin-top: 4vw;
	}
	.p-contact-form__hissu {}
	.p-contact-form__hissu--title {}
	.p-contact-form input[type="text"],
	.p-contact-form input[type="tel"],
	.p-contact-form input[type="email"] {
		font-size: 16px;
	}
	.p-contact-form textarea {
		font-size: 16px;
	}
	.p-contact-form .p-contact-box + .p-contact-box {
		margin-top: 35px;
	}
	.p-contact-form--conf .p-contact-btn_box {
		display: block;
	}
	.p-contact-form--conf .p-buttons-a {
		margin: 0;
	}
	.p-contact-form--conf .p-buttons-a:first-child {
		margin-bottom: 12vw;
	}
	.p-contact-box {
		display: block;
	}
	.p-contact-box__title {
		margin-bottom: 15px;
	}
	.p-contact-box__notice {
		margin-top: 5.33333vw;
	}
	.p-contact-box__error_show {
		padding-top: 2.66667vw;
	}
	.p-contact-box-radio {
		display: block;
		margin-top: 0;
	}
	.p-contact-box-radio__li {
		margin-top: 0;
	}
	.p-contact-box-radio__li:not(:nth-child(3n)) {
		margin-right: 0;
	}
	.p-contact-box-radio__li:not(:last-child) {
		margin-bottom: 2.66667vw;
	}
	.p-contact-box-radio__label {
		height: 19.2vw;
		border: 0.26667vw solid #000;
	}
	.p-contact-box-radio__label br {
		display: none;
	}
	.p-contact-inputfile {
		display: block;
	}
	.p-contact-inputfile__label {
		width: 100%;
		height: 18.4vw;
		background: url("../../img/icon_file_contact_sp.png") no-repeat 81.86667vw center;
		background-size: 5.06667vw auto;
		background-color: #000;
		margin: 0;
	}
	.p-contact-inputfile__text {
		margin-top: 2.66667vw;
	}
	.p-contact-privacy {
		margin-top: 17.6vw;
		padding: 8vw;
		border: 0.26667vw solid #D3D3D3;
	}
	.p-contact-privacy__h2 {
		margin-bottom: 4vw;
	}
	.p-contact-accept {
		margin-top: 9.33333vw;
	}
	.p-contact-accept__input {
		margin-right: 2.66667vw;
	}
	.p-contact-btn_box {
		margin-top: 17.6vw;
	}
	.p-contact-thanks__title {
		margin-bottom: 10.93333vw;
	}
	.p-contact-thanks__text {
		margin-bottom: 17.6vw;
	}
	.p-contact-thanks__br {
		display: block;
	}
	.wpcf7-radio {
		grid-template-columns: 1fr;
		row-gap: 10px;
	}
	.wpcf7-radio .wpcf7-list-item > label > .wpcf7-list-item-label {
		min-height: 60px;
	}
}
